my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux

Compare changes

Choose any two refs to compare.

+1124 -6952
+2
.github/dependabot.yml
··· 10 commit-message: 11 prefix: "chore" 12 include: "scope"
··· 10 commit-message: 11 prefix: "chore" 12 include: "scope" 13 + cooldown: 14 + default-days: 7
+3 -3
.github/workflows/build-isos.yml
··· 15 16 steps: 17 - name: Maximize Space 18 - uses: easimon/maximize-build-space@v10 19 with: 20 overprovision-lvm: true 21 remove-android: true ··· 25 remove-docker-images: true 26 27 - name: Checkout 28 - uses: actions/checkout@v6 29 with: 30 persist-credentials: false 31 32 - name: Install Lix 33 - uses: samueldr/lix-gha-installer-action@v2025-10-27 34 with: 35 extra_nix_config: | 36 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
··· 15 16 steps: 17 - name: Maximize Space 18 + uses: easimon/maximize-build-space@fc881a613ad2a34aca9c9624518214ebc21dfc0c # v10 19 with: 20 overprovision-lvm: true 21 remove-android: true ··· 25 remove-docker-images: true 26 27 - name: Checkout 28 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 29 with: 30 persist-credentials: false 31 32 - name: Install Lix 33 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 34 with: 35 extra_nix_config: | 36 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
+2 -8
.github/workflows/check-lock.yml
··· 2 3 on: 4 workflow_dispatch: 5 - workflow_call: 6 - inputs: 7 - ref: 8 - required: false 9 - type: string 10 push: 11 paths: 12 - "**.lock" ··· 20 21 steps: 22 - name: Checkout 23 - uses: actions/checkout@v6 24 with: 25 - ref: ${{ inputs.ref && inputs.ref || github.ref_name }} 26 persist-credentials: false 27 28 - name: Install Lix 29 - uses: samueldr/lix-gha-installer-action@v2025-10-27 30 with: 31 extra_nix_config: | 32 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
··· 2 3 on: 4 workflow_dispatch: 5 push: 6 paths: 7 - "**.lock" ··· 15 16 steps: 17 - name: Checkout 18 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 19 with: 20 persist-credentials: false 21 22 - name: Install Lix 23 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 24 with: 25 extra_nix_config: | 26 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
+2 -8
.github/workflows/check.yml
··· 2 3 on: 4 workflow_dispatch: 5 - workflow_call: 6 - inputs: 7 - ref: 8 - required: false 9 - type: string 10 push: 11 paths: 12 - "**.nix" ··· 31 32 steps: 33 - name: Checkout 34 - uses: actions/checkout@v6 35 with: 36 - ref: ${{ inputs.ref && inputs.ref || github.ref_name }} 37 persist-credentials: false 38 39 - name: Install Lix 40 - uses: samueldr/lix-gha-installer-action@v2025-10-27 41 with: 42 extra_nix_config: | 43 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
··· 2 3 on: 4 workflow_dispatch: 5 push: 6 paths: 7 - "**.nix" ··· 26 27 steps: 28 - name: Checkout 29 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 30 with: 31 persist-credentials: false 32 33 - name: Install Lix 34 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 35 with: 36 extra_nix_config: | 37 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/
+52
.github/workflows/diff.yml
···
··· 1 + name: Lix Diff 2 + 3 + on: 4 + pull_request: 5 + 6 + permissions: 7 + contents: read 8 + pull-requests: write 9 + 10 + jobs: 11 + lix-diff: 12 + runs-on: ubuntu-latest 13 + steps: 14 + - name: Checkout code 15 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 16 + with: 17 + persist-credentials: false 18 + 19 + - name: Install Lix 20 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 21 + with: 22 + extra_nix_config: | 23 + substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/ 24 + trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= catppuccin.cachix.org-1:noG/4HkbhJb+lUAdKrph6LaozJvAeEEZj4N732IysmU= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= tgirlcloud:EaOlHrpuOI6Zwmir3/MzqS9uA0Xn3gYr15/k/v0HIPo= 25 + 26 + - name: Get Hosts 27 + id: hosts 28 + run: | 29 + set -euo pipefail 30 + { 31 + echo "attributes<<EOF" 32 + # shellcheck disable=SC2016 33 + nix eval --impure --json --expr ' 34 + let 35 + flake = (builtins.getFlake (toString ./.)).outputs; 36 + mk = attr: toplevel: 37 + map (name: { 38 + displayName = name; 39 + attribute = "${attr}.${name}.${toplevel}"; 40 + }) (builtins.attrNames (flake.${attr} or {})); 41 + in 42 + mk "nixosConfigurations" "config.system.build.toplevel" 43 + ++ mk "darwinConfigurations" "system" 44 + ' 45 + echo "EOF" 46 + } >> "$GITHUB_OUTPUT" 47 + 48 + - name: Run lix-diff 49 + uses: isabelroses/lix-diff-action@a09652283ba0df1f6841bd3383a7c119cadd3b8c # main 50 + with: 51 + attributes: ${{ steps.hosts.outputs.attributes }} 52 + comment-strategy: update
+4 -4
.github/workflows/docs.yml
··· 19 20 steps: 21 - name: Checkout 22 - uses: actions/checkout@v6 23 with: 24 persist-credentials: false 25 26 - name: Install Lix 27 - uses: samueldr/lix-gha-installer-action@v2025-10-27 28 with: 29 extra_nix_config: | 30 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/ ··· 34 run: nix build -L .#docs 35 36 - name: Upload Pages Artifact 37 - uses: "actions/upload-pages-artifact@v4" 38 with: 39 path: "result/" 40 ··· 53 steps: 54 - name: Deploy to GitHub Pages 55 id: deployment 56 - uses: actions/deploy-pages@v4
··· 19 20 steps: 21 - name: Checkout 22 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 23 with: 24 persist-credentials: false 25 26 - name: Install Lix 27 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 28 with: 29 extra_nix_config: | 30 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/ ··· 34 run: nix build -L .#docs 35 36 - name: Upload Pages Artifact 37 + uses: "actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b" # v4.0.0 38 with: 39 path: "result/" 40 ··· 53 steps: 54 - name: Deploy to GitHub Pages 55 id: deployment 56 + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
+5 -35
.github/workflows/update.yml
··· 15 pull-requests: write 16 contents: write 17 18 - outputs: 19 - pr: ${{ steps.pr.outputs.pull-request-url }} 20 - branch: ${{ steps.pr.outputs.pull-request-branch }} 21 - 22 steps: 23 - name: Checkout 24 - uses: actions/checkout@v6 25 with: 26 persist-credentials: false 27 28 - name: Install Lix 29 - uses: samueldr/lix-gha-installer-action@v2025-10-27 30 with: 31 extra_nix_config: | 32 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/ ··· 34 35 - name: Update Lockfile 36 id: pr 37 - uses: DeterminateSystems/update-flake-lock@v27 38 with: 39 commit-msg: "flake.lock: update all inputs" 40 pr-title: "flake.lock: update all inputs" 41 branch: update-flake-inputs ··· 44 {{ env.GIT_COMMIT_MESSAGE }} 45 ``` 46 47 - check: 48 - name: Check Flake 49 - needs: update-lockfile 50 - 51 - uses: ./.github/workflows/check.yml 52 - with: 53 - ref: ${{ needs.update-lockfile.outputs.branch }} 54 - 55 - check-lock: 56 - name: Check Lock 57 - needs: update-lockfile 58 - 59 - uses: ./.github/workflows/check-lock.yml 60 - with: 61 - ref: ${{ needs.update-lockfile.outputs.branch }} 62 - 63 - merge: 64 - name: Merge Pull Request 65 - needs: [update-lockfile, check, check-lock] 66 - runs-on: ubuntu-latest 67 - 68 - permissions: 69 - pull-requests: write 70 - contents: write 71 - 72 - steps: 73 - name: Merge Pull Request 74 run: gh pr merge --rebase --auto --delete-branch "$PR" 75 env: 76 GH_TOKEN: ${{ github.token }} 77 - PR: ${{ needs.update-lockfile.outputs.pr }} 78 -
··· 15 pull-requests: write 16 contents: write 17 18 steps: 19 - name: Checkout 20 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 21 with: 22 persist-credentials: false 23 24 - name: Install Lix 25 + uses: samueldr/lix-gha-installer-action@8c7f8a4b0f594ab8a6dc3bf71c217587bbc756b5 # v2025-10-27 26 with: 27 extra_nix_config: | 28 substituters = https://nix-community.cachix.org https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud/ ··· 30 31 - name: Update Lockfile 32 id: pr 33 + uses: DeterminateSystems/update-flake-lock@c5930b397a673a70ca70be06020e943aeac310a1 # v27 34 with: 35 + token: ${{ secrets.GH_TOKEN_UPDATES }} 36 commit-msg: "flake.lock: update all inputs" 37 pr-title: "flake.lock: update all inputs" 38 branch: update-flake-inputs ··· 41 {{ env.GIT_COMMIT_MESSAGE }} 42 ``` 43 44 - name: Merge Pull Request 45 run: gh pr merge --rebase --auto --delete-branch "$PR" 46 env: 47 GH_TOKEN: ${{ github.token }} 48 + PR: ${{ steps.pr.outputs.pull-request-url }}
+8 -8
.sops.yaml
··· 12 - path_regex: secrets/isabel\.yaml 13 key_groups: 14 - age: 15 - - *isabel 16 17 - path_regex: secrets/services/[^/]+\.(yaml|json|env|ini)$ 18 key_groups: 19 - age: 20 - - *isabel 21 - - *minerva 22 - - *skadi 23 - - *athena 24 - - *aphrodite 25 - - *isis 26 - - *hephaestus
··· 12 - path_regex: secrets/isabel\.yaml 13 key_groups: 14 - age: 15 + - *isabel 16 17 - path_regex: secrets/services/[^/]+\.(yaml|json|env|ini)$ 18 key_groups: 19 - age: 20 + - *isabel 21 + - *minerva 22 + - *skadi 23 + - *athena 24 + - *aphrodite 25 + - *isis 26 + - *hephaestus
+1 -1
README.md
··· 12 13 ![Preview image](./docs/src/images/main.webp) 14 15 - ![image of my flakes topology](./docs/src/images/topology.png) 16 17 ### Foreword 18
··· 12 13 ![Preview image](./docs/src/images/main.webp) 14 15 + ![image of my flakes topology](./docs/src/images/topology.webp) 16 17 ### Foreword 18
+1 -1
docs/src/README.md
··· 12 13 ![Preview image](./images/main.webp) 14 15 - ![image of my flakes topology](./images/topology.png) 16 17 ### Foreword 18
··· 12 13 ![Preview image](./images/main.webp) 14 15 + ![image of my flakes topology](./images/topology.webp) 16 17 ### Foreword 18
+1
docs/src/guides/installation.md
··· 74 - [bleh](https://github.com/katelyynn/bleh/raw/uwu/fm/bleh.user.js) 75 - [Info for merged pull requests](https://github.com/isabelroses/userscripts/raw/refs/heads/main/src/prs/script.user.js) 76 - [bluesky hide followers & likes](https://github.com/isabelroses/userscripts/raw/refs/heads/main/src/bsky-hide-follows/script.user.js)
··· 74 - [bleh](https://github.com/katelyynn/bleh/raw/uwu/fm/bleh.user.js) 75 - [Info for merged pull requests](https://github.com/isabelroses/userscripts/raw/refs/heads/main/src/prs/script.user.js) 76 - [bluesky hide followers & likes](https://github.com/isabelroses/userscripts/raw/refs/heads/main/src/bsky-hide-follows/script.user.js) 77 + - grab all my scripts: `git clone me:isabel/skid ~/.local/bin`
docs/src/images/main.webp

This is a binary file and will not be displayed.

docs/src/images/topology.png

This is a binary file and will not be displayed.

docs/src/images/topology.webp

This is a binary file and will not be displayed.

+68 -88
flake.lock
··· 1 { 2 "nodes": { 3 - "brew-src": { 4 - "flake": false, 5 - "locked": { 6 - "lastModified": 1763638478, 7 - "narHash": "sha256-n/IMowE9S23ovmTkKX7KhxXC2Yq41EAVFR2FBIXPcT8=", 8 - "owner": "Homebrew", 9 - "repo": "brew", 10 - "rev": "fbfdbaba008189499958a7aeb1e2c36ab10c067d", 11 - "type": "github" 12 - }, 13 - "original": { 14 - "owner": "Homebrew", 15 - "ref": "5.0.3", 16 - "repo": "brew", 17 - "type": "github" 18 - } 19 - }, 20 "catppuccin": { 21 "inputs": { 22 "nixpkgs": [ ··· 24 ] 25 }, 26 "locked": { 27 - "lastModified": 1767967164, 28 - "narHash": "sha256-Cx4VETh9dGoQYDtWhre7g66d7SAr+h1h6f+SSHxVrck=", 29 "owner": "catppuccin", 30 "repo": "nix", 31 - "rev": "e973584280e3b0e1d5b5a1a5e9948dc222c54af7", 32 "type": "github" 33 }, 34 "original": { ··· 39 }, 40 "crane": { 41 "locked": { 42 - "lastModified": 1767744144, 43 - "narHash": "sha256-9/9ntI0D+HbN4G0TrK3KmHbTvwgswz7p8IEJsWyef8Q=", 44 "owner": "ipetkov", 45 "repo": "crane", 46 - "rev": "2fb033290bf6b23f226d4c8b32f7f7a16b043d7e", 47 "type": "github" 48 }, 49 "original": { ··· 111 ] 112 }, 113 "locked": { 114 - "lastModified": 1768135262, 115 - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", 116 "owner": "hercules-ci", 117 "repo": "flake-parts", 118 - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", 119 "type": "github" 120 }, 121 "original": { ··· 174 ] 175 }, 176 "locked": { 177 - "lastModified": 1768512489, 178 - "narHash": "sha256-jZi945d3e6DYhrw3K5Pew+QaL3qSgq3O6xiVaEVLgXs=", 179 "owner": "nix-community", 180 "repo": "home-manager", 181 - "rev": "bba859cd85b90dd9e4e6fd44b2af4aa64ae801a1", 182 "type": "github" 183 }, 184 "original": { ··· 189 }, 190 "homebrew": { 191 "inputs": { 192 - "brew-src": "brew-src" 193 }, 194 "locked": { 195 - "lastModified": 1764473698, 196 - "narHash": "sha256-C91gPgv6udN5WuIZWNehp8qdLqlrzX6iF/YyboOj6XI=", 197 "owner": "zhaofengli", 198 "repo": "nix-homebrew", 199 - "rev": "6a8ab60bfd66154feeaa1021fc3b32684814a62a", 200 "type": "github" 201 }, 202 "original": { ··· 205 "type": "github" 206 } 207 }, 208 "izlix": { 209 "inputs": { 210 "nixpkgs": [ ··· 212 ] 213 }, 214 "locked": { 215 - "lastModified": 1768526175, 216 - "narHash": "sha256-2Xf/qW/s1grsGBORzC6zYXU2E7Z9ecpzgd1JZGjWrmg=", 217 "owner": "isabelroses", 218 "repo": "izlix", 219 - "rev": "a9f5f9fad844f8bfc7bd5c8d5bdd912d03f8b664", 220 "type": "github" 221 }, 222 "original": { ··· 233 ] 234 }, 235 "locked": { 236 - "lastModified": 1768362356, 237 - "narHash": "sha256-gS0DtWFiT1HkQ0rPXngP3zOG9UCoRzw2D/TFAW3uTFU=", 238 "owner": "isabelroses", 239 "repo": "nvim", 240 - "rev": "6ffdcb0684c0bf9dbe01182c9aa87b9a668d631c", 241 "type": "github" 242 }, 243 "original": { ··· 256 "rust-overlay": "rust-overlay" 257 }, 258 "locked": { 259 - "lastModified": 1768307256, 260 - "narHash": "sha256-3yDvlAqWa0Vk3B9hFRJJrSs1xc+FwVQFLtu//VrTR4c=", 261 "owner": "nix-community", 262 "repo": "lanzaboote", 263 - "rev": "7e031eb535a494582f4fc58735b5aecba7b57058", 264 "type": "github" 265 }, 266 "original": { ··· 269 "type": "github" 270 } 271 }, 272 - "nix-topology": { 273 - "inputs": { 274 - "flake-parts": [ 275 - "flake-parts" 276 - ], 277 - "nixpkgs": [ 278 - "nixpkgs" 279 - ] 280 - }, 281 - "locked": { 282 - "lastModified": 1768068512, 283 - "narHash": "sha256-pH5wkcNOiXy4MBjDTe6A1gml+7m+ULC3lYMBPMqdS1w=", 284 - "owner": "oddlama", 285 - "repo": "nix-topology", 286 - "rev": "4367a2093c5ff74fc478466aebf41d47ce0cacb4", 287 - "type": "github" 288 - }, 289 - "original": { 290 - "owner": "oddlama", 291 - "repo": "nix-topology", 292 - "type": "github" 293 - } 294 - }, 295 "nixos-wsl": { 296 "inputs": { 297 "flake-compat": [], ··· 300 ] 301 }, 302 "locked": { 303 - "lastModified": 1768404695, 304 - "narHash": "sha256-eT3dNE2CQYcPDHaeRZAEFrZ0BmMq2wLxMp7hCmzOZBA=", 305 "owner": "nix-community", 306 "repo": "NixOS-WSL", 307 - "rev": "d0d3636b9d174c4558e3bbb18e194d970505fed8", 308 "type": "github" 309 }, 310 "original": { ··· 315 }, 316 "nixpkgs": { 317 "locked": { 318 - "lastModified": 1768395095, 319 - "narHash": "sha256-wufp5c0nWh/87f9eK7xy1eZXms5zd4yl6S4SR+LfA08=", 320 - "rev": "13868c071cc73a5e9f610c47d7bb08e5da64fdd5", 321 "type": "tarball", 322 - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre927565.13868c071cc7/nixexprs.tar.xz?lastModified=1768395095&rev=13868c071cc73a5e9f610c47d7bb08e5da64fdd5" 323 }, 324 "original": { 325 "type": "tarball", ··· 336 ] 337 }, 338 "locked": { 339 - "lastModified": 1767281941, 340 - "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", 341 "owner": "cachix", 342 "repo": "pre-commit-hooks.nix", 343 - "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", 344 "type": "github" 345 }, 346 "original": { ··· 357 "flake-parts": "flake-parts", 358 "home-manager": "home-manager", 359 "homebrew": "homebrew", 360 "izlix": "izlix", 361 "izvim": "izvim", 362 "lanzaboote": "lanzaboote", 363 - "nix-topology": "nix-topology", 364 "nixos-wsl": "nixos-wsl", 365 "nixpkgs": "nixpkgs", 366 "simple-nixos-mailserver": "simple-nixos-mailserver", ··· 377 ] 378 }, 379 "locked": { 380 - "lastModified": 1768272338, 381 - "narHash": "sha256-Tg/kL8eKMpZtceDvBDQYU8zowgpr7ucFRnpP/AtfuRM=", 382 "owner": "oxalica", 383 "repo": "rust-overlay", 384 - "rev": "03dda130a8701b08b0347fcaf850a190c53a3c1e", 385 "type": "github" 386 }, 387 "original": { ··· 420 ] 421 }, 422 "locked": { 423 - "lastModified": 1768485236, 424 - "narHash": "sha256-UY/lSfPufitn5NUOaREGLstV72//fxwOcEIN2KNlPfQ=", 425 "owner": "Mic92", 426 "repo": "sops-nix", 427 - "rev": "b645ebeade834ec9aa1dce74f16767030138bfb9", 428 "type": "github" 429 }, 430 "original": { ··· 442 "systems": "systems" 443 }, 444 "locked": { 445 - "lastModified": 1768107098, 446 - "narHash": "sha256-mSthw4k7jkB5S8+NYZwrQFItLj+17Se7Wn0pIfdASbc=", 447 "owner": "Gerg-L", 448 "repo": "spicetify-nix", 449 - "rev": "2e40e07527f9d724b1578f0af590ab345e836ec3", 450 "type": "github" 451 }, 452 "original": { ··· 477 ] 478 }, 479 "locked": { 480 - "lastModified": 1768524991, 481 - "narHash": "sha256-cvpvOFtCtHNwK2Qp5V63AF++VC3SiUFZD1QLQH+eGBI=", 482 "owner": "tgirlcloud", 483 "repo": "pkgs", 484 - "rev": "a868feafde8e80d106bee58eca13b38a69bbdc61", 485 "type": "github" 486 }, 487 "original": {
··· 1 { 2 "nodes": { 3 "catppuccin": { 4 "inputs": { 5 "nixpkgs": [ ··· 7 ] 8 }, 9 "locked": { 10 + "lastModified": 1769946009, 11 + "narHash": "sha256-cjPsPx3qlP7RW78lcGJoTP/B6yqY6BJJjwT7QUg8ByY=", 12 "owner": "catppuccin", 13 "repo": "nix", 14 + "rev": "ff59ad5085b7d71705ea1f019c02b08dfe40d9c8", 15 "type": "github" 16 }, 17 "original": { ··· 22 }, 23 "crane": { 24 "locked": { 25 + "lastModified": 1769737823, 26 + "narHash": "sha256-DrBaNpZ+sJ4stXm+0nBX7zqZT9t9P22zbk6m5YhQxS4=", 27 "owner": "ipetkov", 28 "repo": "crane", 29 + "rev": "b2f45c3830aa96b7456a4c4bc327d04d7a43e1ba", 30 "type": "github" 31 }, 32 "original": { ··· 94 ] 95 }, 96 "locked": { 97 + "lastModified": 1769996383, 98 + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", 99 "owner": "hercules-ci", 100 "repo": "flake-parts", 101 + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", 102 "type": "github" 103 }, 104 "original": { ··· 157 ] 158 }, 159 "locked": { 160 + "lastModified": 1769978395, 161 + "narHash": "sha256-gj1yP3spUb1vGtaF5qPhshd2j0cg4xf51pklDsIm19Q=", 162 "owner": "nix-community", 163 "repo": "home-manager", 164 + "rev": "984708c34d3495a518e6ab6b8633469bbca2f77a", 165 "type": "github" 166 }, 167 "original": { ··· 172 }, 173 "homebrew": { 174 "inputs": { 175 + "brew-src": [] 176 }, 177 "locked": { 178 + "lastModified": 1769437432, 179 + "narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=", 180 "owner": "zhaofengli", 181 "repo": "nix-homebrew", 182 + "rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5", 183 "type": "github" 184 }, 185 "original": { ··· 188 "type": "github" 189 } 190 }, 191 + "hostling": { 192 + "inputs": { 193 + "nixpkgs": [ 194 + "nixpkgs" 195 + ] 196 + }, 197 + "locked": { 198 + "lastModified": 1770059841, 199 + "narHash": "sha256-ZUIaBT4NmJDMaUecteFUV2/Muvx021QtU588J9VLeoE=", 200 + "owner": "BatteredBunny", 201 + "repo": "hostling", 202 + "rev": "bd81f06dab901edce081dc02543baa4648ba5428", 203 + "type": "github" 204 + }, 205 + "original": { 206 + "owner": "BatteredBunny", 207 + "repo": "hostling", 208 + "type": "github" 209 + } 210 + }, 211 "izlix": { 212 "inputs": { 213 "nixpkgs": [ ··· 215 ] 216 }, 217 "locked": { 218 + "lastModified": 1770082269, 219 + "narHash": "sha256-RGUk6nvaBX0LM/Kr76CFeYBXpbi3uVel4+ikvGx975A=", 220 "owner": "isabelroses", 221 "repo": "izlix", 222 + "rev": "c934ec168d9568c2643c1eccf78c738675e38b90", 223 "type": "github" 224 }, 225 "original": { ··· 236 ] 237 }, 238 "locked": { 239 + "lastModified": 1769571833, 240 + "narHash": "sha256-gpinpTE3OZc7mmtmPe3fFeUpWj27S+qjLrdxPFTzcaE=", 241 "owner": "isabelroses", 242 "repo": "nvim", 243 + "rev": "b766643d82fd22f7d8bed45c579f6b8a22c37e41", 244 "type": "github" 245 }, 246 "original": { ··· 259 "rust-overlay": "rust-overlay" 260 }, 261 "locked": { 262 + "lastModified": 1770064250, 263 + "narHash": "sha256-3HB6gfnKZnwDoH77lnJktJtQWEZ+D35Oi53pNF6YwO4=", 264 "owner": "nix-community", 265 "repo": "lanzaboote", 266 + "rev": "9985b98c74dcc7b1c7ccfe8693daf37caa4ed2ea", 267 "type": "github" 268 }, 269 "original": { ··· 272 "type": "github" 273 } 274 }, 275 "nixos-wsl": { 276 "inputs": { 277 "flake-compat": [], ··· 280 ] 281 }, 282 "locked": { 283 + "lastModified": 1769217863, 284 + "narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=", 285 "owner": "nix-community", 286 "repo": "NixOS-WSL", 287 + "rev": "38a5250e57f583662eac3b944830e4b9e169e965", 288 "type": "github" 289 }, 290 "original": { ··· 295 }, 296 "nixpkgs": { 297 "locked": { 298 + "lastModified": 1770015011, 299 + "narHash": "sha256-SYiwVUy/8bjZRMQtf760lbpATzVJDsl/6ffk0VLj03I=", 300 + "rev": "f08e6b11a5ed43637a8ac444dd44118bc7d273b9", 301 "type": "tarball", 302 + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre938800.f08e6b11a5ed/nixexprs.tar.xz?lastModified=1770015011&rev=f08e6b11a5ed43637a8ac444dd44118bc7d273b9" 303 }, 304 "original": { 305 "type": "tarball", ··· 316 ] 317 }, 318 "locked": { 319 + "lastModified": 1769939035, 320 + "narHash": "sha256-Fok2AmefgVA0+eprw2NDwqKkPGEI5wvR+twiZagBvrg=", 321 "owner": "cachix", 322 "repo": "pre-commit-hooks.nix", 323 + "rev": "a8ca480175326551d6c4121498316261cbb5b260", 324 "type": "github" 325 }, 326 "original": { ··· 337 "flake-parts": "flake-parts", 338 "home-manager": "home-manager", 339 "homebrew": "homebrew", 340 + "hostling": "hostling", 341 "izlix": "izlix", 342 "izvim": "izvim", 343 "lanzaboote": "lanzaboote", 344 "nixos-wsl": "nixos-wsl", 345 "nixpkgs": "nixpkgs", 346 "simple-nixos-mailserver": "simple-nixos-mailserver", ··· 357 ] 358 }, 359 "locked": { 360 + "lastModified": 1770001842, 361 + "narHash": "sha256-ZAyTeILfdWwDp1nuF0RK3McBduMi49qnJvrS+3Ezpac=", 362 "owner": "oxalica", 363 "repo": "rust-overlay", 364 + "rev": "5018343419ea808f8a413241381976b7e60951f2", 365 "type": "github" 366 }, 367 "original": { ··· 400 ] 401 }, 402 "locked": { 403 + "lastModified": 1769952111, 404 + "narHash": "sha256-xjN2IzYWvBom8z6qIPkJPr5mhky3B4Ve+W14U7xIeik=", 405 "owner": "Mic92", 406 "repo": "sops-nix", 407 + "rev": "c22c347fdcfeb6df373369db12c2fe506b918e93", 408 "type": "github" 409 }, 410 "original": { ··· 422 "systems": "systems" 423 }, 424 "locked": { 425 + "lastModified": 1769986820, 426 + "narHash": "sha256-O9OQ44dk9TJdtRIG828DUI54XdkfZET7AlN1RgTsPis=", 427 "owner": "Gerg-L", 428 "repo": "spicetify-nix", 429 + "rev": "68de6434cfaa8983f3775b858b8b76e7c5dbd29c", 430 "type": "github" 431 }, 432 "original": { ··· 457 ] 458 }, 459 "locked": { 460 + "lastModified": 1770080818, 461 + "narHash": "sha256-73ZVjyVMbPqDVfTIV3vRfcAoiV8AcWN5jDMsuO4QmIU=", 462 "owner": "tgirlcloud", 463 "repo": "pkgs", 464 + "rev": "731722efa5d90dd4ad751bdc3384c1b5440650f6", 465 "type": "github" 466 }, 467 "original": {
+5 -8
flake.nix
··· 106 type = "github"; 107 owner = "zhaofengli"; 108 repo = "nix-homebrew"; 109 }; 110 111 spicetify = { ··· 115 inputs.nixpkgs.follows = "nixpkgs"; 116 }; 117 118 - nix-topology = { 119 type = "github"; 120 - owner = "oddlama"; 121 - repo = "nix-topology"; 122 - 123 - inputs = { 124 - nixpkgs.follows = "nixpkgs"; 125 - flake-parts.follows = "flake-parts"; 126 - }; 127 }; 128 129 ### misc
··· 106 type = "github"; 107 owner = "zhaofengli"; 108 repo = "nix-homebrew"; 109 + inputs.brew-src.follows = ""; 110 }; 111 112 spicetify = { ··· 116 inputs.nixpkgs.follows = "nixpkgs"; 117 }; 118 119 + hostling = { 120 type = "github"; 121 + owner = "BatteredBunny"; 122 + repo = "hostling"; 123 + inputs.nixpkgs.follows = "nixpkgs"; 124 }; 125 126 ### misc
+1 -1
home/isabel/cli/gh.nix
··· 11 extensions = lib.attrValues { 12 inherit (pkgs) 13 # gh-cal # github activity stats in the CLI (not working, maybe we can fix it?) 14 - gh-copilot # copilot in the CLI 15 gh-eco # explore the ecosystem 16 ; 17 };
··· 11 extensions = lib.attrValues { 12 inherit (pkgs) 13 # gh-cal # github activity stats in the CLI (not working, maybe we can fix it?) 14 + # gh-copilot # copilot in the CLI 15 gh-eco # explore the ecosystem 16 ; 17 };
+4
home/isabel/cli/git.nix
··· 190 domain = "git.isabelroses.com"; 191 alias = "me"; 192 } 193 ] 194 ); 195 };
··· 190 domain = "git.isabelroses.com"; 191 alias = "me"; 192 } 193 + { 194 + domain = "tangled.org"; 195 + alias = "tangled"; 196 + } 197 ] 198 ); 199 };
+2
home/isabel/gui/chromium.nix
··· 24 "ndcooeababalnlpkfedmmbbbgkljhpjf" # scriptcat 25 "ephjcajbkgplkjmelpglennepbpmdpjg" # ff2mpv 26 "kpmjjdhbcfebfjgdnpjagcndoelnidfj" # Control Panel for Twitter 27 ]; 28 29 package = pkgs.chromium.override {
··· 24 "ndcooeababalnlpkfedmmbbbgkljhpjf" # scriptcat 25 "ephjcajbkgplkjmelpglennepbpmdpjg" # ff2mpv 26 "kpmjjdhbcfebfjgdnpjagcndoelnidfj" # Control Panel for Twitter 27 + "cgpmbiiagnehkikhcbnhiagfomajncpa" # margin.at 28 + "ekhagklcjbdpajgpjgmbionohlpdbjgc" # zeroto connector 29 ]; 30 31 package = pkgs.chromium.override {
+2 -2
home/isabel/gui/discord.nix
··· 52 enabled = true; 53 config = { 54 patterns = { 55 - "://instagram.com/" = "://ddinstagram.com/"; 56 "://reddit.com/" = "://rxddit.com/"; 57 "://tiktok.com/" = "://tnktok.com/"; 58 "://twitter.com/" = "://vxtwitter.com/"; 59 "://vm.tiktok.com/" = "://vm.tnktok.com/"; 60 - "://www.instagram.com/" = "://ddinstagram.com/"; 61 "://www.reddit.com/" = "://rxddit.com/"; 62 "://x.com/" = "://vxtwitter.com/"; 63 };
··· 52 enabled = true; 53 config = { 54 patterns = { 55 + "://instagram.com/" = "://vxinstagram.com/"; 56 "://reddit.com/" = "://rxddit.com/"; 57 "://tiktok.com/" = "://tnktok.com/"; 58 "://twitter.com/" = "://vxtwitter.com/"; 59 "://vm.tiktok.com/" = "://vm.tnktok.com/"; 60 + "://www.instagram.com/" = "://vxinstagram.com/"; 61 "://www.reddit.com/" = "://rxddit.com/"; 62 "://x.com/" = "://vxtwitter.com/"; 63 };
+4 -2
home/isabel/gui/media/watching.nix
··· 171 }; 172 173 videoclip = { 174 - video_folder_path = "~/media/videos"; 175 - audio_folder_path = "~/media/music"; 176 }; 177 }; 178 };
··· 171 }; 172 173 videoclip = { 174 + video_folder_path = "~/media/videos/clips"; 175 + audio_folder_path = "~/media/music/clips"; 176 + video_quality = 10; 177 + custom_upload_command = "cdnadd %f"; 178 }; 179 }; 180 };
+6 -2
home/isabel/gui/notes.nix
··· 17 config = lib.mkIf cond { 18 garden.packages = { 19 obsidian = pkgs.symlinkJoin { 20 - name = "obsidian-wrapped"; 21 paths = attrValues { 22 inherit (pkgs) 23 # for the pandoc plugin 24 pandoc 25 26 # for the obsidian-git plugin 27 gitMinimal 28 - git-lfs 29 ; 30 }; 31 meta.mainProgram = pkgs.obsidian.meta.mainProgram; 32 }; 33 }; 34 35 programs.zk = {
··· 17 config = lib.mkIf cond { 18 garden.packages = { 19 obsidian = pkgs.symlinkJoin { 20 + name = "obsidian-wrapped-${pkgs.obsidian.version}"; 21 paths = attrValues { 22 inherit (pkgs) 23 + # include obsidian itself 24 + obsidian 25 + 26 # for the pandoc plugin 27 pandoc 28 29 # for the obsidian-git plugin 30 gitMinimal 31 ; 32 }; 33 meta.mainProgram = pkgs.obsidian.meta.mainProgram; 34 }; 35 + 36 + inherit (pkgs) zotero; 37 }; 38 39 programs.zk = {
+1 -1
home/isabel/gui/vicinae/default.nix
··· 22 } 23 { 24 extName = "bluetooth"; 25 - npmDepsHash = "sha256-cpyuJTc3a7oLibKUY2EhD33w8/35frfwIaGFKFezvts="; 26 } 27 # broken 28 # {
··· 22 } 23 { 24 extName = "bluetooth"; 25 + npmDepsHash = "sha256-2F7D7DwNG/GAiE+o7srZhcOZzUiRjEVS9uWZAoD7sjo="; 26 } 27 # broken 28 # {
+2 -2
home/isabel/gui/vicinae/extension.nix
··· 22 fetchFromGitHub { 23 owner = "vicinaehq"; 24 repo = "extensions"; 25 - rev = "62f81e63d0420d6a310092746a96d7c105f7a53e"; 26 - hash = "sha256-Tqd5BOxfCtVWY19Gl32Fq5xsV3sTepItub20OQYgPmU="; 27 } 28 + "/extensions/${extName}" 29 );
··· 22 fetchFromGitHub { 23 owner = "vicinaehq"; 24 repo = "extensions"; 25 + rev = "cc3326e7e07b4d2d0aa9ebc1a54ee3b0fb1db469"; 26 + hash = "sha256-bDC2q3GlDjEE5J2SPHpIdbYKcuLDw3fsxSh3emMOEXU="; 27 } 28 + "/extensions/${extName}" 29 );
+1
home/isabel/tui/izrss.nix
··· 20 "https://dataswamp.org/~solene/rss-html.xml" 21 "https://maia.crimew.gay/feed.xml" 22 "https://github.com/moonlight-mod/extensions/commits.atom" # moonlight extensions 23 ]; 24 }; 25 };
··· 20 "https://dataswamp.org/~solene/rss-html.xml" 21 "https://maia.crimew.gay/feed.xml" 22 "https://github.com/moonlight-mod/extensions/commits.atom" # moonlight extensions 23 + "https://clan.lol/feed.xml" 24 ]; 25 }; 26 };
+2 -2
justfile
··· 35 if [[ -n "${DEPLOY_SUMMARY:-}" ]]; then 36 { 37 echo "===== {{ host }} =====" 38 - ssh -q {{ host }} lix diff "$before" 39 echo 40 } >> "$DEPLOY_SUMMARY" 41 else 42 - ssh {{ host }} lix diff "$before" 43 fi 44 45 [group('rebuild')]
··· 35 if [[ -n "${DEPLOY_SUMMARY:-}" ]]; then 36 { 37 echo "===== {{ host }} =====" 38 + ssh -q {{ host }} TERM=xterm-256color lix diff "$before" 39 echo 40 } >> "$DEPLOY_SUMMARY" 41 else 42 + ssh {{ host }} TERM=xterm-256color lix diff "$before" 43 fi 44 45 [group('rebuild')]
+12 -5
modules/darwin/brew/default.nix
··· 15 nix-homebrew = { 16 enable = true; 17 18 # I want to force us to only use declarative taps 19 mutableTaps = false; 20 ··· 29 "homebrew/homebrew-core" = pkgs.fetchFromGitHub { 30 owner = "homebrew"; 31 repo = "homebrew-core"; 32 - rev = "4f56316185939aaa0708bbe1ddfd1d05513cdefc"; 33 - hash = "sha256-yAgaJq8jY8mWtO5LrokeECBMrUfJcx78qKlt+smhp0k="; 34 }; 35 "homebrew/homebrew-cask" = pkgs.fetchFromGitHub { 36 owner = "homebrew"; 37 repo = "homebrew-cask"; 38 - rev = "072a3dcd25bbb89262fa7a0e9d9cab3a071bce6b"; 39 - hash = "sha256-+2qy66bA9O8+IXd2v7xKBTJ9lhoLcKtQj+rF17I8T1U="; 40 }; 41 }; 42 }; ··· 71 taps = builtins.attrNames config.nix-homebrew.taps; 72 73 # `brew install` 74 - brews = [ "openjdk" ]; 75 76 # `brew install --cask` 77 casks = [
··· 15 nix-homebrew = { 16 enable = true; 17 18 + package = pkgs.fetchFromGitHub { 19 + owner = "homebrew"; 20 + repo = "brew"; 21 + rev = "d01011cac6d72032c75fd2cd9489909e95d9faf2"; # version 5.0.12 22 + hash = "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM="; 23 + }; 24 + 25 # I want to force us to only use declarative taps 26 mutableTaps = false; 27 ··· 36 "homebrew/homebrew-core" = pkgs.fetchFromGitHub { 37 owner = "homebrew"; 38 repo = "homebrew-core"; 39 + rev = "4d2a2d8fc9d623505079ceafbbd737db551baa41"; 40 + hash = "sha256-lcXa2ypf8YpKl6zn5sJvkXKB7ENMmOEGCZK0ISYQJE0="; 41 }; 42 "homebrew/homebrew-cask" = pkgs.fetchFromGitHub { 43 owner = "homebrew"; 44 repo = "homebrew-cask"; 45 + rev = "c4fea0914d393a384a2ffcf2560fcb6da51925c4"; 46 + hash = "sha256-RaF3hSvG5wLX7pYQ8QdNYzIakTU+MOrqlBRP4SSfqHE="; 47 }; 48 }; 49 }; ··· 78 taps = builtins.attrNames config.nix-homebrew.taps; 79 80 # `brew install` 81 + brews = [ ]; 82 83 # `brew install --cask` 84 casks = [
+1 -1
modules/flake/args.nix
··· 19 allowUnfree = true; 20 allowUnsupportedSystem = true; 21 }; 22 - overlays = [ inputs.nix-topology.overlays.default ]; 23 }; 24 }; 25 }
··· 19 allowUnfree = true; 20 allowUnsupportedSystem = true; 21 }; 22 + overlays = [ ]; 23 }; 24 }; 25 }
+2 -6
modules/flake/checks/lib.nix
··· 74 # modified from 75 # https://github.com/antifuchs/nix-flake-tests/blob/bbd9216bd0f6495bb961a8eb8392b7ef55c67afb/default.nix 76 formatValue = 77 - val: 78 - if (builtins.isList val || builtins.isAttrs val) then 79 - builtins.toJSON val 80 - else 81 - builtins.toString val; 82 83 resultToString = 84 { ··· 107 { 108 checks.lib = 109 if res != [ ] then 110 - builtins.throw (lib.strings.concatStringsSep "\n" (map resultToString (lib.debug.traceValSeq res))) 111 else 112 pkgs.runCommandLocal "nix-flake-tests-success" { } "echo > $out"; 113 };
··· 74 # modified from 75 # https://github.com/antifuchs/nix-flake-tests/blob/bbd9216bd0f6495bb961a8eb8392b7ef55c67afb/default.nix 76 formatValue = 77 + val: if (builtins.isList val || builtins.isAttrs val) then builtins.toJSON val else toString val; 78 79 resultToString = 80 { ··· 103 { 104 checks.lib = 105 if res != [ ] then 106 + throw (lib.strings.concatStringsSep "\n" (map resultToString (lib.debug.traceValSeq res))) 107 else 108 pkgs.runCommandLocal "nix-flake-tests-success" { } "echo > $out"; 109 };
+2 -2
modules/flake/lib/helpers.nix
··· 217 { 218 "https://${domain}/".insteadOf = "${alias}:"; 219 "ssh://${user}@${domain}${ 220 - if (builtins.isNull port) then 221 "" 222 else if (builtins.isInt port) then 223 - ":" + (builtins.toString port) 224 else 225 ":" + port 226 }/".pushInsteadOf =
··· 217 { 218 "https://${domain}/".insteadOf = "${alias}:"; 219 "ssh://${user}@${domain}${ 220 + if (port == null) then 221 "" 222 else if (builtins.isInt port) then 223 + ":" + (toString port) 224 else 225 ":" + port 226 }/".pushInsteadOf =
+1 -1
modules/flake/lib/secrets.nix
··· 39 ... 40 }@args: 41 let 42 - args' = builtins.removeAttrs args [ 43 "file" 44 "owner" 45 "group"
··· 39 ... 40 }@args: 41 let 42 + args' = removeAttrs args [ 43 "file" 44 "owner" 45 "group"
-1
modules/flake/programs/default.nix
··· 3 # keep-sorted start 4 ./formatter.nix # formatter for nix fmt, via treefmt is a formatter for every language 5 ./shell.nix # a dev shell that provieds all that you will need to work 6 - ./topology # generate a image of the flakes topology 7 # keep-sorted end 8 ]; 9 }
··· 3 # keep-sorted start 4 ./formatter.nix # formatter for nix fmt, via treefmt is a formatter for every language 5 ./shell.nix # a dev shell that provieds all that you will need to work 6 # keep-sorted end 7 ]; 8 }
+22
modules/flake/programs/formatter.nix
··· 15 statix 16 stylua 17 taplo 18 # keep-sorted end 19 20 (writeShellScriptBin "statix-fix" '' ··· 98 command = "taplo"; 99 options = "format"; 100 includes = [ "*.toml" ]; 101 }; 102 # keep-sorted end 103 };
··· 15 statix 16 stylua 17 taplo 18 + yamlfmt 19 + zizmor 20 # keep-sorted end 21 22 (writeShellScriptBin "statix-fix" '' ··· 100 command = "taplo"; 101 options = "format"; 102 includes = [ "*.toml" ]; 103 + }; 104 + 105 + yamlfmt = { 106 + command = "yamlfmt"; 107 + options = [ 108 + "-formatter" 109 + "retain_line_breaks_single=true" 110 + ]; 111 + includes = [ 112 + "*.yml" 113 + "*.yaml" 114 + ]; 115 + }; 116 + 117 + zizmor = { 118 + command = "zizmor"; 119 + includes = [ 120 + ".github/workflows/*.yml" 121 + ".github/workflows/*.yaml" 122 + ]; 123 }; 124 # keep-sorted end 125 };
-2080
modules/flake/programs/topology/assets/mac.png
··· 1 - 2 - 3 - 4 - 5 - 6 - 7 - <!DOCTYPE html> 8 - <html 9 - lang="en" 10 - 11 - data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" 12 - data-a11y-animated-images="system" data-a11y-link-underlines="true" 13 - 14 - > 15 - 16 - 17 - 18 - 19 - <head> 20 - <meta charset="utf-8"> 21 - <link rel="dns-prefetch" href="https://github.githubassets.com"> 22 - <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> 23 - <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> 24 - <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> 25 - <link rel="preconnect" href="https://github.githubassets.com" crossorigin> 26 - <link rel="preconnect" href="https://avatars.githubusercontent.com"> 27 - 28 - 29 - 30 - 31 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-367eb9a4565a.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-183adc0db479.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-2ddc677c041d.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-649962a5702a.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b17a8392e6c4.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e9ff47cedc2b.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a1cc7dba9f73.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-6c4dd39e2b0f.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-55459b36aa6d.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-9a0ef6e40ed3.css" /> 32 - 33 - 34 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-dc7ca6859caf.css" /> 35 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-e11b50dc0d94.css" /> 36 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-208b03e93e68.css" /> 37 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-709c905d887a.css" /> 38 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-b58e401b73ae.css" /> 39 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4ea853641043.css" /> 40 - 41 - 42 - 43 - 44 - <script type="application/json" id="client-env">{"locale":"en","featureFlags":["alternate_user_config_repo","api_insights_show_missing_data_banner","attestations_filtering","attestations_sorting","client_version_header","code_scanning_security_configuration_ternary_state","codespaces_prebuild_region_target_update","contact_requests_implicit_opt_in","contentful_lp_copilot_extensions","contentful_lp_flex_features","contentful_lp_footnotes","copilot_chat_attach_multiple_images","copilot_chat_group_notifications","copilot_chat_vision_in_claude","copilot_chat_vision_skip_thread_create","copilot_chat_wholearea_dd","copilot_coding_agent_task_creation_banner","copilot_custom_copilots_feature_preview","copilot_custom_copilots_images","copilot_duplicate_thread","copilot_free_to_paid_telem","copilot_ftp_hyperspace_upgrade_prompt","copilot_ftp_settings_upgrade","copilot_ftp_upgrade_to_pro_from_models","copilot_ftp_your_copilot_settings","copilot_immersive_agent_branch_selection","copilot_immersive_draft_issue_template_form_ui","copilot_immersive_structured_model_picker","copilot_markdown_image_allow_list","copilot_no_floating_button","copilot_read_shared_conversation","copilot_spaces_inline_edit_description","copilot_spaces_input_menu_select","copilot_spaces_upsert_reload_in_background","copilot_spark_allow_empty_commit","copilot_spark_single_user_iteration","copilot_spark_use_billing_headers","copilot_spark_write_iteration_history_to_git","copilot_task_oriented_assistive_prompts","copilot_workbench_agent_seed_tool","copilot_workbench_cache","copilot_workbench_connection_reload_banner","copilot_workbench_preview_analytics","copilot_workbench_ratelimit_fallback","copilot_workbench_refresh_on_wsod","copilot_workbench_synthetic_generation","custom_copilots_128k_window","custom_copilots_capi_mode","custom_copilots_file_uploads","direct_to_salesforce","dotcom_chat_client_side_skills","failbot_report_error_react_apps_on_page","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hpc_improve_dom_insertion_observer","insert_before_patch","issue_fields_report_usage","issues_catch_non_json_graphql_response","issues_comment_load_user_settings","issues_label_search_url","issues_preserve_tokens_in_urls","issues_react_blur_item_picker_on_close","issues_react_bots_timeline_pagination","issues_react_create_milestone","issues_react_prohibit_title_fallback","issues_react_remove_placeholders","issues_template_picker_redirect","lifecycle_label_name_updates","link_contact_sales_swp_marketo","marketing_fullstory_sampling","marketing_pages_search_explore_provider","memex_mwl_filter_field_delimiter","nonreporting_relay_graphql_status_codes","primer_react_select_panel_with_modern_action_list","remove_child_patch","sample_network_conn_type","scheduled_reminders_updated_limits","site_homepage_contentful","site_msbuild_hide_integrations","site_msbuild_launch","site_msbuild_webgl_hero","spark_commit_on_default_branch","spark_sync_repository_after_iteration","swp_enterprise_contact_form","use_paginated_repo_picker_cost_center_form","viewscreen_sandbox","workbench_default_sonnet4","workbench_store_readonly"],"copilotApiOverrideUrl":null}</script> 45 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-84a1cb087855.js"></script> 46 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-41f74a33a478.js" defer="defer"></script> 47 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-a8c266e5f126.js" defer="defer"></script> 48 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1d3d52-babac9434833.js" defer="defer"></script> 49 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-992dcf80dabf.js" defer="defer"></script> 50 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-17084f3f370f.js" defer="defer"></script> 51 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-c44edfed7f0d.js" defer="defer"></script> 52 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-cdf2757bd188.js" defer="defer"></script> 53 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-5913bc24f35d.js" defer="defer"></script> 54 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-c1e2fb329866.js" defer="defer"></script> 55 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-e50fb7a5fe8c.js" defer="defer"></script> 56 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-514a92c925f0.js" defer="defer"></script> 57 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-6a8c7d9a08fe.js" defer="defer"></script> 58 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-f03a40-c631b99b0f08.js" defer="defer"></script> 59 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-6f8fcdbbf55a.js" defer="defer"></script> 60 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-fa295cd1df7e.js" defer="defer"></script> 61 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-34c4b68b1dd3.js" defer="defer"></script> 62 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-b93a87060d31.js" defer="defer"></script> 63 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-300e8e4e0414.js" defer="defer"></script> 64 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-595819d3686f.js" defer="defer"></script> 65 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-5f044d8dcee3.js" defer="defer"></script> 66 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-c39857-68019bebf97d.js" defer="defer"></script> 67 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-19a9ffc8367b.js" defer="defer"></script> 68 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f953ddf42948.js" defer="defer"></script> 69 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-c9618dd6662a.js" defer="defer"></script> 70 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-a7da4270c5f4.js" defer="defer"></script> 71 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-567e0f340e27.js" defer="defer"></script> 72 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-625d7495b728.js" defer="defer"></script> 73 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-ea8eaa-a4bd0b8e9717.js" defer="defer"></script> 74 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-ddd47578369b.js" defer="defer"></script> 75 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-558c1f223d1d.js" defer="defer"></script> 76 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-5153545f9e1f.js" defer="defer"></script> 77 - 78 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-e3f517d7be60.js" defer="defer"></script> 79 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-da8e42da9f7f.js" defer="defer"></script> 80 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-8705026b409a.js" defer="defer"></script> 81 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-d5df7319196a.js" defer="defer"></script> 82 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-1fff13-e90c4f4db816.js" defer="defer"></script> 83 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-f747879a83cf.js" defer="defer"></script> 84 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-7457ebdd1a1f.js" defer="defer"></script> 85 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-d2d5b7-d1ead38b2474.js" defer="defer"></script> 86 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-16c4e2c524de.js" defer="defer"></script> 87 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_react-virtual_dist_esm_index_js-807aab04afeb.js" defer="defer"></script> 88 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_lodash-es__baseIsEqual_js-5a1e4257e977.js" defer="defer"></script> 89 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-b36da9-89c0fa93d060.js" defer="defer"></script> 90 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-02903aca93fb.js" defer="defer"></script> 91 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_fetch-headers_fetch-headers_ts-57e0e0-bed68ec00644.js" defer="defer"></script> 92 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-49a575c6713c.js" defer="defer"></script> 93 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-762eaa-7c0cb4bd2b5c.js" defer="defer"></script> 94 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_repos-file-tree-view_repos-file-tree-view_ts-ui_-e7c631-bae3635f2779.js" defer="defer"></script> 95 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-96ec19-ae69c1d6d8ce.js" defer="defer"></script> 96 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-21b2322bf20d.js" defer="defer"></script> 97 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-code-view_utilities_lines_ts-83e8972e3303.js" defer="defer"></script> 98 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-nav_code-nav_ts-ui_packages_filter-sort_filter-sort_ts-ui_packages_fuzzy-fil-1f9dbe-90a25aafe017.js" defer="defer"></script> 99 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-04d1b806f918.js" defer="defer"></script> 100 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 101 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.76f019fa552874dd1b3a.module.css" /> 102 - 103 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_notifications-subscriptions-me-a61c45-fff89a42d18b.js" defer="defer"></script> 104 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-84cd44486c1a.js" defer="defer"></script> 105 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 106 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.4c58e19e87a9dd1b1dfd.module.css" /> 107 - 108 - 109 - <title>dotfiles/modules/flake/programs/topology/assets/mac.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles ยท GitHub</title> 110 - 111 - 112 - 113 - <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> 114 - <meta name="route-controller" content="blob" data-turbo-transient> 115 - <meta name="route-action" content="show" data-turbo-transient> 116 - <meta name="fetch-nonce" content="v2:f91c9681-5f43-e75f-d536-393c3dc21285"> 117 - 118 - 119 - <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> 120 - 121 - 122 - <meta name="request-id" content="E8CA:3024D9:AD5568:DEF1C3:688F2934" data-pjax-transient="true"/><meta name="html-safe-nonce" content="6ba5f6ba6ef04a548a73362a96ab6775ab766abad9e1c94f89451088800bcd20" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOENBOjMwMjREOTpBRDU1Njg6REVGMUMzOjY4OEYyOTM0IiwidmlzaXRvcl9pZCI6IjM1NTIyNDc3NzMwMTIxMDk2MjAiLCJyZWdpb25fZWRnZSI6InVrc291dGgiLCJyZWdpb25fcmVuZGVyIjoidWtzb3V0aCJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="71bb19798fbd5f12c6551626e0c3223e0dd9f063d95258c35cefd820f561c598" data-pjax-transient="true"/> 123 - 124 - 125 - <meta name="hovercard-subject-tag" content="repository:592914119" data-turbo-transient> 126 - 127 - 128 - <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> 129 - 130 - 131 - <meta name="selected-link" value="repo_source" data-turbo-transient> 132 - <link rel="assets" href="https://github.githubassets.com/"> 133 - 134 - <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> 135 - 136 - <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> 137 - 138 - <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" /> 139 - 140 - 141 - 142 - 143 - 144 - 145 - <meta name="user-login" content=""> 146 - 147 - 148 - 149 - <meta name="viewport" content="width=device-width"> 150 - 151 - 152 - 153 - <meta name="description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub."> 154 - 155 - <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> 156 - 157 - <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> 158 - <meta property="fb:app_id" content="1401488693436528"> 159 - <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png" /> 160 - 161 - <meta name="twitter:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="dotfiles/modules/flake/programs/topology/assets/mac.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta name="twitter:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 162 - <meta property="og:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta property="og:image:alt" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="dotfiles/modules/flake/programs/topology/assets/mac.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta property="og:url" content="https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png" /><meta property="og:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 163 - 164 - 165 - 166 - 167 - 168 - <meta name="hostname" content="github.com"> 169 - 170 - 171 - 172 - <meta name="expected-hostname" content="github.com"> 173 - 174 - 175 - <meta http-equiv="x-pjax-version" content="cfb8e7d95b7eadd0ef58733affffed4526b494ccaf3dd25ecba671b579078cb1" data-turbo-track="reload"> 176 - <meta http-equiv="x-pjax-csp-version" content="8fba9c9418de26103e6176951dd0c38780be21b972f2019085dee08622fdb843" data-turbo-track="reload"> 177 - <meta http-equiv="x-pjax-css-version" content="b705b14fc1de584a5d763630d9070a4b5c9515cdbd9ae3954bd3dfcbebcb97fc" data-turbo-track="reload"> 178 - <meta http-equiv="x-pjax-js-version" content="6f4279361022e5f7aaf7f6db889807aeab92525b0f3fd01c30fc2fd836fb5881" data-turbo-track="reload"> 179 - 180 - <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> 181 - 182 - <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> 183 - 184 - <meta data-hydrostats="publish"> 185 - 186 - <meta name="go-import" content="github.com/isabelroses/dotfiles git https://github.com/isabelroses/dotfiles.git"> 187 - 188 - <meta name="octolytics-dimension-user_id" content="71222764" /><meta name="octolytics-dimension-user_login" content="isabelroses" /><meta name="octolytics-dimension-repository_id" content="592914119" /><meta name="octolytics-dimension-repository_nwo" content="isabelroses/dotfiles" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="592914119" /><meta name="octolytics-dimension-repository_network_root_nwo" content="isabelroses/dotfiles" /> 189 - 190 - 191 - 192 - 193 - 194 - <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> 195 - 196 - 197 - <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> 198 - 199 - <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> 200 - 201 - <meta name="release" content="846da3261aa79a972f201f9d2f7d9446ae1795f3"> 202 - <meta name="ui-target" content="full"> 203 - 204 - <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> 205 - <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> 206 - <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> 207 - 208 - <meta name="theme-color" content="#1e2327"> 209 - <meta name="color-scheme" content="light dark" /> 210 - 211 - 212 - <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> 213 - 214 - </head> 215 - 216 - <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 217 - <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 218 - 219 - 220 - 221 - 222 - <div class="position-relative header-wrapper js-header-wrapper "> 223 - <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> 224 - 225 - <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> 226 - <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> 227 - </span> 228 - 229 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 230 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.f8fba3bd67fe74f9227b.module.css" /> 231 - 232 - <react-partial 233 - partial-name="keyboard-shortcuts-dialog" 234 - data-ssr="false" 235 - data-attempted-ssr="false" 236 - data-react-profiling="false" 237 - > 238 - 239 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> 240 - <div data-target="react-partial.reactRoot"></div> 241 - </react-partial> 242 - 243 - 244 - 245 - 246 - 247 - 248 - 249 - 250 - 251 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_gsap_index_js-028cb2a18f5a.js" defer="defer"></script> 252 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9a914372b013.js" defer="defer"></script> 253 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-5e9442c22f33.js" defer="defer"></script> 254 - <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> 255 - <h2 class="sr-only">Navigation Menu</h2> 256 - 257 - <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> 258 - <span class="d-none">Toggle navigation</span> 259 - </button> 260 - 261 - <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> 262 - <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> 263 - <div class="flex-1"> 264 - <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> 265 - <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> 266 - <div class="HeaderMenu-toggle-bar rounded my-1"></div> 267 - <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> 268 - </span> 269 - </button> 270 - </div> 271 - 272 - <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" 273 - href="/" 274 - aria-label="Homepage" 275 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> 276 - <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> 277 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 278 - </svg> 279 - </a> 280 - 281 - <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end"> 282 - <a 283 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fmac.png" 284 - class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" 285 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="251f2865cffe6e14a4b8ade7c8f0b3b373c87b8097f9ef823ec234365d4b8483" 286 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 287 - > 288 - Sign in 289 - </a> 290 - <div class="AppHeader-appearanceSettings"> 291 - <react-partial-anchor> 292 - <button data-target="react-partial-anchor.anchor" id="icon-button-449b94b9-2c08-4431-8631-9ed899fa27e3" aria-labelledby="tooltip-b2ed9c6f-98e7-4b86-8f1b-76fcbb0af7c9" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 293 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 294 - </svg> 295 - </button><tool-tip id="tooltip-b2ed9c6f-98e7-4b86-8f1b-76fcbb0af7c9" for="icon-button-449b94b9-2c08-4431-8631-9ed899fa27e3" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 296 - 297 - <template data-target="react-partial-anchor.template"> 298 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 299 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 300 - 301 - <react-partial 302 - partial-name="appearance-settings" 303 - data-ssr="false" 304 - data-attempted-ssr="false" 305 - data-react-profiling="false" 306 - > 307 - 308 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 309 - <div data-target="react-partial.reactRoot"></div> 310 - </react-partial> 311 - 312 - </template> 313 - </react-partial-anchor> 314 - </div> 315 - 316 - </div> 317 - </div> 318 - 319 - 320 - <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> 321 - <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> 322 - <nav class="HeaderMenu-nav" aria-label="Global"> 323 - <ul class="d-lg-flex list-style-none"> 324 - 325 - 326 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 327 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 328 - Product 329 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 330 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 331 - </svg> 332 - </button> 333 - 334 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 335 - <div class="HeaderMenu-column pl-lg-4 px-lg-4"> 336 - <div class=""> 337 - 338 - <ul class="list-style-none f5" > 339 - <li> 340 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> 341 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 342 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 343 - </svg> 344 - <div> 345 - <div class="color-fg-default h4"> 346 - GitHub Copilot 347 - </div> 348 - Write better code with AI 349 - </div> 350 - 351 - 352 - </a></li> 353 - 354 - <li> 355 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_spark&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_spark_link_product_navbar&quot;}" href="https://github.com/features/spark"> 356 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-sparkle-fill color-fg-subtle mr-3"> 357 - <path d="M11.296 1.924c.24-.656 1.168-.656 1.408 0l.717 1.958a11.25 11.25 0 0 0 6.697 6.697l1.958.717c.657.24.657 1.168 0 1.408l-1.958.717a11.25 11.25 0 0 0-6.697 6.697l-.717 1.958c-.24.657-1.168.657-1.408 0l-.717-1.958a11.25 11.25 0 0 0-6.697-6.697l-1.958-.717c-.656-.24-.656-1.168 0-1.408l1.958-.717a11.25 11.25 0 0 0 6.697-6.697l.717-1.958Z"></path> 358 - </svg> 359 - <div> 360 - <div class="color-fg-default h4"> 361 - GitHub Spark 362 - <span class="HeaderMenu-label"> 363 - New 364 - </span> 365 - </div> 366 - Build and deploy intelligent apps 367 - </div> 368 - 369 - 370 - </a></li> 371 - 372 - <li> 373 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_models&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_models_link_product_navbar&quot;}" href="https://github.com/features/models"> 374 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-ai-model color-fg-subtle mr-3"> 375 - <path d="M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z"></path> 376 - </svg> 377 - <div> 378 - <div class="color-fg-default h4"> 379 - GitHub Models 380 - <span class="HeaderMenu-label"> 381 - New 382 - </span> 383 - </div> 384 - Manage and compare prompts 385 - </div> 386 - 387 - 388 - </a></li> 389 - 390 - <li> 391 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_product_navbar&quot;}" href="https://github.com/security/advanced-security"> 392 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 393 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 394 - </svg> 395 - <div> 396 - <div class="color-fg-default h4"> 397 - GitHub Advanced Security 398 - </div> 399 - Find and fix vulnerabilities 400 - </div> 401 - 402 - 403 - </a></li> 404 - 405 - <li> 406 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> 407 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> 408 - <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> 409 - </svg> 410 - <div> 411 - <div class="color-fg-default h4"> 412 - Actions 413 - </div> 414 - Automate any workflow 415 - </div> 416 - 417 - 418 - </a></li> 419 - 420 - 421 - </ul> 422 - </div> 423 - </div> 424 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 425 - <div class="border-bottom border-lg-bottom-0 pb-3"> 426 - 427 - <ul class="list-style-none f5" > 428 - <li> 429 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> 430 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> 431 - <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 432 - </svg> 433 - <div> 434 - <div class="color-fg-default h4"> 435 - Codespaces 436 - </div> 437 - Instant dev environments 438 - </div> 439 - 440 - 441 - </a></li> 442 - 443 - <li> 444 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> 445 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> 446 - <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> 447 - </svg> 448 - <div> 449 - <div class="color-fg-default h4"> 450 - Issues 451 - </div> 452 - Plan and track work 453 - </div> 454 - 455 - 456 - </a></li> 457 - 458 - <li> 459 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> 460 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> 461 - <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> 462 - </svg> 463 - <div> 464 - <div class="color-fg-default h4"> 465 - Code Review 466 - </div> 467 - Manage code changes 468 - </div> 469 - 470 - 471 - </a></li> 472 - 473 - <li> 474 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> 475 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 476 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 477 - </svg> 478 - <div> 479 - <div class="color-fg-default h4"> 480 - Discussions 481 - </div> 482 - Collaborate outside of code 483 - </div> 484 - 485 - 486 - </a></li> 487 - 488 - <li> 489 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> 490 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> 491 - <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> 492 - </svg> 493 - <div> 494 - <div class="color-fg-default h4"> 495 - Code Search 496 - </div> 497 - Find more, search less 498 - </div> 499 - 500 - 501 - </a></li> 502 - 503 - </ul> 504 - </div> 505 - </div> 506 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 507 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 508 - <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> 509 - 510 - <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> 511 - <li> 512 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_product_navbar&quot;}" href="https://github.com/why-github"> 513 - Why GitHub 514 - 515 - 516 - </a></li> 517 - 518 - <li> 519 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> 520 - All features 521 - 522 - 523 - </a></li> 524 - 525 - <li> 526 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> 527 - Documentation 528 - 529 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 530 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 531 - </svg> 532 - </a></li> 533 - 534 - <li> 535 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> 536 - GitHub Skills 537 - 538 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 539 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 540 - </svg> 541 - </a></li> 542 - 543 - <li> 544 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> 545 - Blog 546 - 547 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 548 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 549 - </svg> 550 - </a></li> 551 - 552 - </ul> 553 - </div> 554 - </div> 555 - 556 - </div> 557 - </li> 558 - 559 - 560 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 561 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 562 - Solutions 563 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 564 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 565 - </svg> 566 - </button> 567 - 568 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> 569 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 570 - <div class="border-bottom border-lg-bottom-0 mb-3 pb-3"> 571 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> 572 - 573 - <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> 574 - <li> 575 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> 576 - Enterprises 577 - 578 - 579 - </a></li> 580 - 581 - <li> 582 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> 583 - Small and medium teams 584 - 585 - 586 - </a></li> 587 - 588 - <li> 589 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> 590 - Startups 591 - 592 - 593 - </a></li> 594 - 595 - <li> 596 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> 597 - Nonprofits 598 - 599 - 600 - </a></li> 601 - 602 - </ul> 603 - </div> 604 - <div class="border-bottom border-lg-bottom-0 pb-3"> 605 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> 606 - 607 - <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> 608 - <li> 609 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> 610 - DevSecOps 611 - 612 - 613 - </a></li> 614 - 615 - <li> 616 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> 617 - DevOps 618 - 619 - 620 - </a></li> 621 - 622 - <li> 623 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> 624 - CI/CD 625 - 626 - 627 - </a></li> 628 - 629 - <li> 630 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> 631 - View all use cases 632 - 633 - 634 - </a></li> 635 - 636 - </ul> 637 - </div> 638 - </div> 639 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 640 - <div class="border-bottom border-lg-bottom-0 pb-3 pb-lg-0"> 641 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> 642 - 643 - <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> 644 - <li> 645 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> 646 - Healthcare 647 - 648 - 649 - </a></li> 650 - 651 - <li> 652 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> 653 - Financial services 654 - 655 - 656 - </a></li> 657 - 658 - <li> 659 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> 660 - Manufacturing 661 - 662 - 663 - </a></li> 664 - 665 - <li> 666 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> 667 - Government 668 - 669 - 670 - </a></li> 671 - 672 - <li> 673 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> 674 - View all industries 675 - 676 - 677 - </a></li> 678 - 679 - </ul> 680 - </div> 681 - </div> 682 - 683 - <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> 684 - <a href="/solutions"> 685 - View all solutions 686 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> 687 - <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> 688 - </svg> 689 - </a> </div> 690 - </div> 691 - </li> 692 - 693 - 694 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 695 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 696 - Resources 697 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 698 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 699 - </svg> 700 - </button> 701 - 702 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 703 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 704 - <div class="border-bottom border-lg-bottom-0 pb-3"> 705 - <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> 706 - 707 - <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> 708 - <li> 709 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> 710 - AI 711 - 712 - 713 - </a></li> 714 - 715 - <li> 716 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> 717 - DevOps 718 - 719 - 720 - </a></li> 721 - 722 - <li> 723 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> 724 - Security 725 - 726 - 727 - </a></li> 728 - 729 - <li> 730 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> 731 - Software Development 732 - 733 - 734 - </a></li> 735 - 736 - <li> 737 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> 738 - View all 739 - 740 - 741 - </a></li> 742 - 743 - </ul> 744 - </div> 745 - </div> 746 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 747 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 748 - <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> 749 - 750 - <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> 751 - <li> 752 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> 753 - Learning Pathways 754 - 755 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 756 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 757 - </svg> 758 - </a></li> 759 - 760 - <li> 761 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> 762 - Events &amp; Webinars 763 - 764 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 765 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 766 - </svg> 767 - </a></li> 768 - 769 - <li> 770 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> 771 - Ebooks &amp; Whitepapers 772 - 773 - 774 - </a></li> 775 - 776 - <li> 777 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> 778 - Customer Stories 779 - 780 - 781 - </a></li> 782 - 783 - <li> 784 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> 785 - Partners 786 - 787 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 788 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 789 - </svg> 790 - </a></li> 791 - 792 - <li> 793 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> 794 - Executive Insights 795 - 796 - 797 - </a></li> 798 - 799 - </ul> 800 - </div> 801 - </div> 802 - 803 - </div> 804 - </li> 805 - 806 - 807 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 808 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 809 - Open Source 810 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 811 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 812 - </svg> 813 - </button> 814 - 815 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 816 - <div class="HeaderMenu-column px-lg-4"> 817 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 818 - 819 - <ul class="list-style-none f5" > 820 - <li> 821 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> 822 - 823 - <div> 824 - <div class="color-fg-default h4"> 825 - GitHub Sponsors 826 - </div> 827 - Fund open source developers 828 - </div> 829 - 830 - 831 - </a></li> 832 - 833 - </ul> 834 - </div> 835 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 836 - 837 - <ul class="list-style-none f5" > 838 - <li> 839 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> 840 - 841 - <div> 842 - <div class="color-fg-default h4"> 843 - The ReadME Project 844 - </div> 845 - GitHub community articles 846 - </div> 847 - 848 - 849 - </a></li> 850 - 851 - </ul> 852 - </div> 853 - <div class="border-bottom border-bottom-0"> 854 - <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> 855 - 856 - <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> 857 - <li> 858 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> 859 - Topics 860 - 861 - 862 - </a></li> 863 - 864 - <li> 865 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> 866 - Trending 867 - 868 - 869 - </a></li> 870 - 871 - <li> 872 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> 873 - Collections 874 - 875 - 876 - </a></li> 877 - 878 - </ul> 879 - </div> 880 - </div> 881 - 882 - </div> 883 - </li> 884 - 885 - 886 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 887 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 888 - Enterprise 889 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 890 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 891 - </svg> 892 - </button> 893 - 894 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 895 - <div class="HeaderMenu-column px-lg-4"> 896 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 897 - 898 - <ul class="list-style-none f5" > 899 - <li> 900 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> 901 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> 902 - <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> 903 - </svg> 904 - <div> 905 - <div class="color-fg-default h4"> 906 - Enterprise platform 907 - </div> 908 - AI-powered developer platform 909 - </div> 910 - 911 - 912 - </a></li> 913 - 914 - </ul> 915 - </div> 916 - <div class="border-bottom border-bottom-0"> 917 - <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> 918 - 919 - <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> 920 - <li> 921 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security"> 922 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 923 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 924 - </svg> 925 - <div> 926 - <div class="color-fg-default h4"> 927 - GitHub Advanced Security 928 - </div> 929 - Enterprise-grade security features 930 - </div> 931 - 932 - 933 - </a></li> 934 - 935 - <li> 936 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> 937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 938 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 939 - </svg> 940 - <div> 941 - <div class="color-fg-default h4"> 942 - Copilot for business 943 - </div> 944 - Enterprise-grade AI features 945 - </div> 946 - 947 - 948 - </a></li> 949 - 950 - <li> 951 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> 952 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 953 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 954 - </svg> 955 - <div> 956 - <div class="color-fg-default h4"> 957 - Premium Support 958 - </div> 959 - Enterprise-grade 24/7 support 960 - </div> 961 - 962 - 963 - </a></li> 964 - 965 - </ul> 966 - </div> 967 - </div> 968 - 969 - </div> 970 - </li> 971 - 972 - 973 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 974 - <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> 975 - </li> 976 - 977 - </ul> 978 - </nav> 979 - 980 - <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> 981 - 982 - 983 - 984 - <qbsearch-input class="search-input" data-scope="repo:isabelroses/dotfiles" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="O0RYeRrZSWuTK7iY-_11vu6sZF-E8hlVV-t8NdAs91aieqEQixpO4mNRJ3qEpMw6aEEYe-qDD5x8kkka2gxWiQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="isabelroses/dotfiles" data-current-org="" data-current-owner="isabelroses" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> 985 - <div 986 - class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" 987 - data-action="click:qbsearch-input#searchInputContainerClicked" 988 - > 989 - <button 990 - type="button" 991 - class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" 992 - data-target="qbsearch-input.inputButton" 993 - aria-label="Search or jump toโ€ฆ" 994 - aria-haspopup="dialog" 995 - placeholder="Search or jump to..." 996 - data-hotkey=s,/ 997 - autocapitalize="off" 998 - data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" 999 - data-action="click:qbsearch-input#handleExpand" 1000 - > 1001 - <div class="mr-2 color-fg-muted"> 1002 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1003 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1004 - </svg> 1005 - </div> 1006 - <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> 1007 - <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> 1008 - <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> 1009 - </div> 1010 - </button> 1011 - 1012 - <input type="hidden" name="type" class="js-site-search-type-field"> 1013 - 1014 - 1015 - <div class="Overlay--hidden " data-modal-dialog-overlay> 1016 - <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> 1017 - <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> 1018 - <div class="Overlay-body Overlay-body--paddingNone"> 1019 - 1020 - <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" 1021 - style="border-radius: 12px;" 1022 - data-target="qbsearch-input.queryBuilderContainer" 1023 - hidden 1024 - > 1025 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> 1026 - <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> 1027 - <div class="FormControl FormControl--fullWidth"> 1028 - <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> 1029 - Search 1030 - </label> 1031 - <div 1032 - class="QueryBuilder-StyledInput width-fit " 1033 - data-target="query-builder.styledInput" 1034 - > 1035 - <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> 1036 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> 1037 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1038 - </svg> 1039 - </span> 1040 - <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> 1041 - <div 1042 - aria-hidden="true" 1043 - class="QueryBuilder-StyledInputContent" 1044 - data-target="query-builder.styledInputContent" 1045 - ></div> 1046 - <div class="QueryBuilder-InputWrapper"> 1047 - <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> 1048 - <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-2e0dc155-e4e0-44cd-98af-381dd5c8ea6a" data-target="query-builder.input" data-action=" 1049 - input:query-builder#inputChange 1050 - blur:query-builder#inputBlur 1051 - keydown:query-builder#inputKeydown 1052 - focus:query-builder#inputFocus 1053 - " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> 1054 - </div> 1055 - </div> 1056 - <span class="sr-only" id="query-builder-test-clear">Clear</span> 1057 - <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" 1058 - click:query-builder#clear 1059 - focus:query-builder#clearButtonFocus 1060 - blur:query-builder#clearButtonBlur 1061 - " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> 1062 - <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> 1063 - </svg> 1064 - </button> 1065 - 1066 - </div> 1067 - <template id="search-icon"> 1068 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1069 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1070 - </svg> 1071 - </template> 1072 - 1073 - <template id="code-icon"> 1074 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1075 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1076 - </svg> 1077 - </template> 1078 - 1079 - <template id="file-code-icon"> 1080 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> 1081 - <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> 1082 - </svg> 1083 - </template> 1084 - 1085 - <template id="history-icon"> 1086 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> 1087 - <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> 1088 - </svg> 1089 - </template> 1090 - 1091 - <template id="repo-icon"> 1092 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> 1093 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1094 - </svg> 1095 - </template> 1096 - 1097 - <template id="bookmark-icon"> 1098 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> 1099 - <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> 1100 - </svg> 1101 - </template> 1102 - 1103 - <template id="plus-circle-icon"> 1104 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> 1105 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> 1106 - </svg> 1107 - </template> 1108 - 1109 - <template id="circle-icon"> 1110 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> 1111 - <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> 1112 - </svg> 1113 - </template> 1114 - 1115 - <template id="trash-icon"> 1116 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> 1117 - <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> 1118 - </svg> 1119 - </template> 1120 - 1121 - <template id="team-icon"> 1122 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> 1123 - <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> 1124 - </svg> 1125 - </template> 1126 - 1127 - <template id="project-icon"> 1128 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> 1129 - <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> 1130 - </svg> 1131 - </template> 1132 - 1133 - <template id="pencil-icon"> 1134 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> 1135 - <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> 1136 - </svg> 1137 - </template> 1138 - 1139 - <template id="copilot-icon"> 1140 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> 1141 - <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> 1142 - </svg> 1143 - </template> 1144 - 1145 - <template id="copilot-error-icon"> 1146 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> 1147 - <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> 1148 - </svg> 1149 - </template> 1150 - 1151 - <template id="workflow-icon"> 1152 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> 1153 - <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> 1154 - </svg> 1155 - </template> 1156 - 1157 - <template id="book-icon"> 1158 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> 1159 - <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> 1160 - </svg> 1161 - </template> 1162 - 1163 - <template id="code-review-icon"> 1164 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> 1165 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> 1166 - </svg> 1167 - </template> 1168 - 1169 - <template id="codespaces-icon"> 1170 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> 1171 - <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 1172 - </svg> 1173 - </template> 1174 - 1175 - <template id="comment-icon"> 1176 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> 1177 - <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 1178 - </svg> 1179 - </template> 1180 - 1181 - <template id="comment-discussion-icon"> 1182 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> 1183 - <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> 1184 - </svg> 1185 - </template> 1186 - 1187 - <template id="organization-icon"> 1188 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> 1189 - <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1190 - </svg> 1191 - </template> 1192 - 1193 - <template id="rocket-icon"> 1194 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> 1195 - <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1196 - </svg> 1197 - </template> 1198 - 1199 - <template id="shield-check-icon"> 1200 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> 1201 - <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1202 - </svg> 1203 - </template> 1204 - 1205 - <template id="heart-icon"> 1206 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> 1207 - <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> 1208 - </svg> 1209 - </template> 1210 - 1211 - <template id="server-icon"> 1212 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> 1213 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1214 - </svg> 1215 - </template> 1216 - 1217 - <template id="globe-icon"> 1218 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> 1219 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> 1220 - </svg> 1221 - </template> 1222 - 1223 - <template id="issue-opened-icon"> 1224 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1225 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1226 - </svg> 1227 - </template> 1228 - 1229 - <template id="device-mobile-icon"> 1230 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> 1231 - <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> 1232 - </svg> 1233 - </template> 1234 - 1235 - <template id="package-icon"> 1236 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> 1237 - <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> 1238 - </svg> 1239 - </template> 1240 - 1241 - <template id="credit-card-icon"> 1242 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> 1243 - <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> 1244 - </svg> 1245 - </template> 1246 - 1247 - <template id="play-icon"> 1248 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1249 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1250 - </svg> 1251 - </template> 1252 - 1253 - <template id="gift-icon"> 1254 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> 1255 - <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> 1256 - </svg> 1257 - </template> 1258 - 1259 - <template id="code-square-icon"> 1260 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> 1261 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1262 - </svg> 1263 - </template> 1264 - 1265 - <template id="device-desktop-icon"> 1266 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> 1267 - <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> 1268 - </svg> 1269 - </template> 1270 - 1271 - <div class="position-relative"> 1272 - <ul 1273 - role="listbox" 1274 - class="ActionListWrap QueryBuilder-ListWrap" 1275 - aria-label="Suggestions" 1276 - data-action=" 1277 - combobox-commit:query-builder#comboboxCommit 1278 - mousedown:query-builder#resultsMousedown 1279 - " 1280 - data-target="query-builder.resultsList" 1281 - data-persist-list=false 1282 - id="query-builder-test-results" 1283 - tabindex="-1" 1284 - ></ul> 1285 - </div> 1286 - <div class="FormControl-inlineValidation" id="validation-2e0dc155-e4e0-44cd-98af-381dd5c8ea6a" hidden="hidden"> 1287 - <span class="FormControl-inlineValidation--visual"> 1288 - <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> 1289 - <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> 1290 - </svg> 1291 - </span> 1292 - <span></span> 1293 - </div> </div> 1294 - <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> 1295 - </query-builder></form> 1296 - <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> 1297 - <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> 1298 - </div> 1299 - </div> 1300 - </div> 1301 - 1302 - </div> 1303 - </modal-dialog></div> 1304 - </div> 1305 - <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> 1306 - <div class="color-fg-default"> 1307 - 1308 - <dialog-helper> 1309 - <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1310 - <div data-view-component="true" class="Overlay-header"> 1311 - <div class="Overlay-headerContentWrap"> 1312 - <div class="Overlay-titleWrap"> 1313 - <h1 class="Overlay-title " id="feedback-dialog-title"> 1314 - Provide feedback 1315 - </h1> 1316 - 1317 - </div> 1318 - <div class="Overlay-actionWrap"> 1319 - <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1320 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1321 - </svg></button> 1322 - </div> 1323 - </div> 1324 - 1325 - </div> 1326 - <scrollable-region data-labelled-by="feedback-dialog-title"> 1327 - <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="HptxKSne1e3+FRD4vzo3/TkC8C5pMu6s5MI5Dhu2t98H/vHYoX3bCe+xOPipdcLJEx21Jbs286kXWFEkIq07Kg==" /> 1328 - <p>We read every piece of feedback, and take your input very seriously.</p> 1329 - <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> 1330 - <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> 1331 - <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> 1332 - </form></div> 1333 - </scrollable-region> 1334 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel 1335 - </button> 1336 - <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback 1337 - </button> 1338 - </div> 1339 - </dialog></dialog-helper> 1340 - 1341 - <custom-scopes data-target="qbsearch-input.customScopesManager"> 1342 - 1343 - <dialog-helper> 1344 - <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1345 - <div data-view-component="true" class="Overlay-header Overlay-header--divided"> 1346 - <div class="Overlay-headerContentWrap"> 1347 - <div class="Overlay-titleWrap"> 1348 - <h1 class="Overlay-title " id="custom-scopes-dialog-title"> 1349 - Saved searches 1350 - </h1> 1351 - <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> 1352 - </div> 1353 - <div class="Overlay-actionWrap"> 1354 - <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1355 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1356 - </svg></button> 1357 - </div> 1358 - </div> 1359 - 1360 - </div> 1361 - <scrollable-region data-labelled-by="custom-scopes-dialog-title"> 1362 - <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1363 - 1364 - <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> 1365 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="EHgQLxWpfssBkqFDae2zFa66opUnulMHoiC+2N6oyCeNB3N8z9WJdEOMtrronx5+VHy7gyG76ATO0OerY0X4wA==" /> 1366 - <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1367 - 1368 - <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> 1369 - 1370 - <div class="form-group"> 1371 - <label for="custom_scope_name">Name</label> 1372 - <auto-check src="/search/custom_scopes/check_name" required> 1373 - <input 1374 - type="text" 1375 - name="custom_scope_name" 1376 - id="custom_scope_name" 1377 - data-target="custom-scopes.customScopesNameField" 1378 - class="form-control" 1379 - autocomplete="off" 1380 - placeholder="github-ruby" 1381 - required 1382 - maxlength="50"> 1383 - <input type="hidden" data-csrf="true" value="moOWrfIdVL7bNl546Q9pmZ2RRujAfSHl2kaHLpwFSEcCWH7vRHcLytxgQBKfV7zI1rhAbGArqNs32PhbhUKTaA==" /> 1384 - </auto-check> 1385 - </div> 1386 - 1387 - <div class="form-group"> 1388 - <label for="custom_scope_query">Query</label> 1389 - <input 1390 - type="text" 1391 - name="custom_scope_query" 1392 - id="custom_scope_query" 1393 - data-target="custom-scopes.customScopesQueryField" 1394 - class="form-control" 1395 - autocomplete="off" 1396 - placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" 1397 - required 1398 - maxlength="500"> 1399 - </div> 1400 - 1401 - <p class="text-small color-fg-muted"> 1402 - To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. 1403 - </p> 1404 - </form> </div> 1405 - 1406 - <div data-target="custom-scopes.manageCustomScopesForm"> 1407 - <div data-target="custom-scopes.list"></div> 1408 - </div> 1409 - 1410 - </div> 1411 - </scrollable-region> 1412 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel 1413 - </button> 1414 - <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search 1415 - </button> 1416 - </div> 1417 - </dialog></dialog-helper> 1418 - </custom-scopes> 1419 - </div> 1420 - </qbsearch-input> 1421 - 1422 - 1423 - <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> 1424 - <a 1425 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fmac.png" 1426 - class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1" 1427 - style="margin-left: 12px;" 1428 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="251f2865cffe6e14a4b8ade7c8f0b3b373c87b8097f9ef823ec234365d4b8483" 1429 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 1430 - > 1431 - Sign in 1432 - </a> 1433 - </div> 1434 - 1435 - <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=isabelroses%2Fdotfiles" 1436 - class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" 1437 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="251f2865cffe6e14a4b8ade7c8f0b3b373c87b8097f9ef823ec234365d4b8483" 1438 - data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" 1439 - > 1440 - Sign up 1441 - </a> 1442 - 1443 - <div class="AppHeader-appearanceSettings"> 1444 - <react-partial-anchor> 1445 - <button data-target="react-partial-anchor.anchor" id="icon-button-3f0356dc-a855-48f0-99d0-c4b2c9144989" aria-labelledby="tooltip-928c2cec-8b7c-4d2c-a649-8d49fe77a26b" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 1446 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 1447 - </svg> 1448 - </button><tool-tip id="tooltip-928c2cec-8b7c-4d2c-a649-8d49fe77a26b" for="icon-button-3f0356dc-a855-48f0-99d0-c4b2c9144989" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 1449 - 1450 - <template data-target="react-partial-anchor.template"> 1451 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 1452 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 1453 - 1454 - <react-partial 1455 - partial-name="appearance-settings" 1456 - data-ssr="false" 1457 - data-attempted-ssr="false" 1458 - data-react-profiling="false" 1459 - > 1460 - 1461 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 1462 - <div data-target="react-partial.reactRoot"></div> 1463 - </react-partial> 1464 - 1465 - </template> 1466 - </react-partial-anchor> 1467 - </div> 1468 - 1469 - <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button> 1470 - </div> 1471 - </div> 1472 - </div> 1473 - </div> 1474 - </header> 1475 - 1476 - <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> 1477 - 1478 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 1479 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1480 - </svg> 1481 - <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1482 - <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1483 - <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1484 - 1485 - <button id="icon-button-120d04e6-ce5b-46bf-b65f-c9fa450c6e12" aria-labelledby="tooltip-5d58e79d-34ba-447d-b018-06c5ea7a92f0" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> 1486 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1487 - </svg> 1488 - </button><tool-tip id="tooltip-5d58e79d-34ba-447d-b018-06c5ea7a92f0" for="icon-button-120d04e6-ce5b-46bf-b65f-c9fa450c6e12" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> 1489 - 1490 - 1491 - 1492 - </div> 1493 - </div> 1494 - 1495 - <div id="start-of-content" class="show-on-focus"></div> 1496 - 1497 - 1498 - 1499 - 1500 - 1501 - 1502 - 1503 - 1504 - <div id="js-flash-container" class="flash-container" data-turbo-replace> 1505 - 1506 - 1507 - 1508 - 1509 - <template class="js-flash-template"> 1510 - 1511 - <div class="flash flash-full {{ className }}"> 1512 - <div > 1513 - <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> 1514 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1515 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1516 - </svg> 1517 - </button> 1518 - <div aria-atomic="true" role="alert" class="js-flash-alert"> 1519 - 1520 - <div>{{ message }}</div> 1521 - 1522 - </div> 1523 - </div> 1524 - </div> 1525 - </template> 1526 - </div> 1527 - 1528 - 1529 - 1530 - 1531 - 1532 - 1533 - 1534 - 1535 - 1536 - <div 1537 - class="application-main " 1538 - data-commit-hovercards-enabled 1539 - data-discussion-hovercards-enabled 1540 - data-issue-and-pr-hovercards-enabled 1541 - data-project-hovercards-enabled 1542 - > 1543 - <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> 1544 - <main id="js-repo-pjax-container" > 1545 - 1546 - 1547 - 1548 - 1549 - 1550 - 1551 - 1552 - 1553 - 1554 - <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> 1555 - 1556 - <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> 1557 - 1558 - <div class="flex-auto min-width-0 width-fit"> 1559 - 1560 - <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> 1561 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> 1562 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1563 - </svg> 1564 - 1565 - <span class="author flex-self-stretch" itemprop="author"> 1566 - <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/isabelroses/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/isabelroses"> 1567 - isabelroses 1568 - </a> </span> 1569 - <span class="mx-1 flex-self-stretch color-fg-muted">/</span> 1570 - <strong itemprop="name" class="mr-2 flex-self-stretch"> 1571 - <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/isabelroses/dotfiles">dotfiles</a> 1572 - </strong> 1573 - 1574 - <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> 1575 - </div> 1576 - 1577 - 1578 - </div> 1579 - 1580 - <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> 1581 - <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> 1582 - 1583 - <li> 1584 - <include-fragment src="/isabelroses/dotfiles/sponsor_button" data-nonce="v2:f91c9681-5f43-e75f-d536-393c3dc21285" data-view-component="true"> 1585 - 1586 - <div data-show-on-forbidden-error hidden> 1587 - <div class="Box"> 1588 - <div class="blankslate-container"> 1589 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1590 - 1591 - 1592 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1593 - </h3> 1594 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1595 - </p> 1596 - 1597 - </div> </div> 1598 - </div> </div> 1599 - </include-fragment> 1600 - </li> 1601 - 1602 - 1603 - 1604 - <li> 1605 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="199484babeaa6ed4a652e14dc48d749391036dbb73d40a2f276fa50dbc41a441" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> 1606 - <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> 1607 - </svg>Notifications 1608 - </a> <tool-tip id="tooltip-3c50164a-9cd1-4ad4-b3ee-56426a82305a" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> 1609 - 1610 - </li> 1611 - 1612 - <li> 1613 - <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1701260689078cf366331c48bc73736eaf7a4f080814ecb2ebfeaa06b150ffe7" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> 1614 - <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> 1615 - </svg>Fork 1616 - <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="10" data-view-component="true" class="Counter">10</span> 1617 - </a> 1618 - </li> 1619 - 1620 - <li> 1621 - <div data-view-component="true" class="BtnGroup d-flex"> 1622 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="657c0e331ab82748826b01fdb2e7383a6d19261c0c1fdd22f8547d3aaa6719d8" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> 1623 - <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> 1624 - </svg><span data-view-component="true" class="d-inline"> 1625 - Star 1626 - </span> <span id="repo-stars-counter-star" aria-label="292 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="292" data-view-component="true" class="Counter js-social-count">292</span> 1627 - </a></div> 1628 - </li> 1629 - 1630 - </ul> 1631 - 1632 - </div> 1633 - </div> 1634 - 1635 - <div id="responsive-meta-container" data-turbo-replace> 1636 - </div> 1637 - 1638 - 1639 - <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> 1640 - 1641 - <ul data-view-component="true" class="UnderlineNav-body list-style-none"> 1642 - <li data-view-component="true" class="d-inline-flex"> 1643 - <a id="code-tab" href="/isabelroses/dotfiles" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /isabelroses/dotfiles" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> 1644 - 1645 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> 1646 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1647 - </svg> 1648 - <span data-content="Code">Code</span> 1649 - <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1650 - 1651 - 1652 - 1653 - </a></li> 1654 - <li data-view-component="true" class="d-inline-flex"> 1655 - <a id="issues-tab" href="/isabelroses/dotfiles/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /isabelroses/dotfiles/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1656 - 1657 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> 1658 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1659 - </svg> 1660 - <span data-content="Issues">Issues</span> 1661 - <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1662 - 1663 - 1664 - 1665 - </a></li> 1666 - <li data-view-component="true" class="d-inline-flex"> 1667 - <a id="pull-requests-tab" href="/isabelroses/dotfiles/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /isabelroses/dotfiles/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1668 - 1669 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> 1670 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1671 - </svg> 1672 - <span data-content="Pull requests">Pull requests</span> 1673 - <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1" data-view-component="true" class="Counter">1</span> 1674 - 1675 - 1676 - 1677 - </a></li> 1678 - <li data-view-component="true" class="d-inline-flex"> 1679 - <a id="actions-tab" href="/isabelroses/dotfiles/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /isabelroses/dotfiles/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1680 - 1681 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> 1682 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1683 - </svg> 1684 - <span data-content="Actions">Actions</span> 1685 - <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1686 - 1687 - 1688 - 1689 - </a></li> 1690 - <li data-view-component="true" class="d-inline-flex"> 1691 - <a id="projects-tab" href="/isabelroses/dotfiles/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /isabelroses/dotfiles/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1692 - 1693 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> 1694 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1695 - </svg> 1696 - <span data-content="Projects">Projects</span> 1697 - <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1698 - 1699 - 1700 - 1701 - </a></li> 1702 - <li data-view-component="true" class="d-inline-flex"> 1703 - <a id="security-tab" href="/isabelroses/dotfiles/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /isabelroses/dotfiles/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1704 - 1705 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> 1706 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1707 - </svg> 1708 - <span data-content="Security">Security</span> 1709 - <include-fragment src="/isabelroses/dotfiles/security/overall-count" accept="text/fragment+html" data-nonce="v2:f91c9681-5f43-e75f-d536-393c3dc21285" data-view-component="true"> 1710 - 1711 - <div data-show-on-forbidden-error hidden> 1712 - <div class="Box"> 1713 - <div class="blankslate-container"> 1714 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1715 - 1716 - 1717 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1718 - </h3> 1719 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1720 - </p> 1721 - 1722 - </div> </div> 1723 - </div> </div> 1724 - </include-fragment> 1725 - 1726 - 1727 - </a></li> 1728 - <li data-view-component="true" class="d-inline-flex"> 1729 - <a id="insights-tab" href="/isabelroses/dotfiles/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /isabelroses/dotfiles/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1730 - 1731 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> 1732 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1733 - </svg> 1734 - <span data-content="Insights">Insights</span> 1735 - <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1736 - 1737 - 1738 - 1739 - </a></li> 1740 - </ul> 1741 - <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> 1742 - <focus-group direction="vertical" mnemonics retain> 1743 - <button id="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-button" popovertarget="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-overlay" aria-controls="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-list" aria-haspopup="true" aria-labelledby="tooltip-12a70eae-b30f-40a4-a713-ef389a17667a" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> 1744 - <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> 1745 - </svg> 1746 - </button><tool-tip id="tooltip-12a70eae-b30f-40a4-a713-ef389a17667a" for="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> 1747 - 1748 - 1749 - <anchored-position data-target="action-menu.overlay" id="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-overlay" anchor="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> 1750 - <div data-view-component="true" class="Overlay Overlay--size-auto"> 1751 - 1752 - <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> 1753 - <div data-view-component="true"> 1754 - <ul aria-labelledby="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-button" id="action-menu-d7fe491d-fd46-40a1-8ea2-334566fec3a2-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> 1755 - <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1756 - 1757 - 1758 - <a tabindex="-1" id="item-ca1c10ca-8298-404c-a70b-957c425ff38c" href="/isabelroses/dotfiles" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1759 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1760 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1761 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1762 - </svg> 1763 - </span> 1764 - 1765 - <span data-view-component="true" class="ActionListItem-label"> 1766 - Code 1767 - </span> 1768 - </a> 1769 - 1770 - </li> 1771 - <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1772 - 1773 - 1774 - <a tabindex="-1" id="item-31a79b83-523e-4eb4-906a-06e201683f39" href="/isabelroses/dotfiles/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1775 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1776 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1777 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1778 - </svg> 1779 - </span> 1780 - 1781 - <span data-view-component="true" class="ActionListItem-label"> 1782 - Issues 1783 - </span> 1784 - </a> 1785 - 1786 - </li> 1787 - <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1788 - 1789 - 1790 - <a tabindex="-1" id="item-13e9c3c4-28dc-491a-8750-2ac08a743548" href="/isabelroses/dotfiles/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1791 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1792 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> 1793 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1794 - </svg> 1795 - </span> 1796 - 1797 - <span data-view-component="true" class="ActionListItem-label"> 1798 - Pull requests 1799 - </span> 1800 - </a> 1801 - 1802 - </li> 1803 - <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1804 - 1805 - 1806 - <a tabindex="-1" id="item-89275d34-6494-48f1-a500-87161d91e1b0" href="/isabelroses/dotfiles/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1807 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1808 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1809 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1810 - </svg> 1811 - </span> 1812 - 1813 - <span data-view-component="true" class="ActionListItem-label"> 1814 - Actions 1815 - </span> 1816 - </a> 1817 - 1818 - </li> 1819 - <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1820 - 1821 - 1822 - <a tabindex="-1" id="item-c0385982-4091-4c6d-9f74-8b006874097b" href="/isabelroses/dotfiles/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1823 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1824 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> 1825 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1826 - </svg> 1827 - </span> 1828 - 1829 - <span data-view-component="true" class="ActionListItem-label"> 1830 - Projects 1831 - </span> 1832 - </a> 1833 - 1834 - </li> 1835 - <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1836 - 1837 - 1838 - <a tabindex="-1" id="item-34a11aed-40c9-4b95-9582-632d966a6e29" href="/isabelroses/dotfiles/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1839 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1840 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> 1841 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1842 - </svg> 1843 - </span> 1844 - 1845 - <span data-view-component="true" class="ActionListItem-label"> 1846 - Security 1847 - </span> 1848 - </a> 1849 - 1850 - </li> 1851 - <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1852 - 1853 - 1854 - <a tabindex="-1" id="item-2dc71a4e-0121-4333-873b-fdbc8114780e" href="/isabelroses/dotfiles/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1855 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1856 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> 1857 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1858 - </svg> 1859 - </span> 1860 - 1861 - <span data-view-component="true" class="ActionListItem-label"> 1862 - Insights 1863 - </span> 1864 - </a> 1865 - 1866 - </li> 1867 - </ul> 1868 - </div></action-list> 1869 - 1870 - 1871 - </div> 1872 - 1873 - </div></anchored-position> </focus-group> 1874 - </action-menu></div> 1875 - </nav> 1876 - 1877 - </div> 1878 - 1879 - 1880 - 1881 - 1882 - 1883 - <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> 1884 - <div id="repo-content-pjax-container" class="repository-content " > 1885 - 1886 - 1887 - 1888 - 1889 - 1890 - 1891 - 1892 - 1893 - 1894 - 1895 - 1896 - 1897 - 1898 - 1899 - 1900 - <react-app 1901 - app-name="react-code-view" 1902 - initial-path="/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png" 1903 - style="display: block; min-height: calc(100vh - 64px);" 1904 - data-attempted-ssr="false" 1905 - data-ssr="false" 1906 - data-lazy="false" 1907 - data-alternate="false" 1908 - data-data-router-enabled="false" 1909 - data-react-profiling="false" 1910 - > 1911 - 1912 - <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"modules/flake/programs/topology/assets":{"items":[{"name":"mac.png","path":"modules/flake/programs/topology/assets/mac.png","contentType":"file"},{"name":"pihole.png","path":"modules/flake/programs/topology/assets/pihole.png","contentType":"file"},{"name":"rpi.svg","path":"modules/flake/programs/topology/assets/rpi.svg","contentType":"file"}],"totalCount":3},"modules/flake/programs/topology":{"items":[{"name":"assets","path":"modules/flake/programs/topology/assets","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/topology/default.nix","contentType":"file"},{"name":"output.nix","path":"modules/flake/programs/topology/output.nix","contentType":"file"}],"totalCount":3},"modules/flake/programs":{"items":[{"name":"topology","path":"modules/flake/programs/topology","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/default.nix","contentType":"file"},{"name":"deploy.nix","path":"modules/flake/programs/deploy.nix","contentType":"file"},{"name":"formatter.nix","path":"modules/flake/programs/formatter.nix","contentType":"file"},{"name":"git-hooks.nix","path":"modules/flake/programs/git-hooks.nix","contentType":"file"},{"name":"shell.nix","path":"modules/flake/programs/shell.nix","contentType":"file"}],"totalCount":6},"modules/flake":{"items":[{"name":"checks","path":"modules/flake/checks","contentType":"directory"},{"name":"lib","path":"modules/flake/lib","contentType":"directory"},{"name":"packages","path":"modules/flake/packages","contentType":"directory"},{"name":"programs","path":"modules/flake/programs","contentType":"directory"},{"name":"args.nix","path":"modules/flake/args.nix","contentType":"file"},{"name":"default.nix","path":"modules/flake/default.nix","contentType":"file"},{"name":"modules.nix","path":"modules/flake/modules.nix","contentType":"file"},{"name":"overlays.nix","path":"modules/flake/overlays.nix","contentType":"file"}],"totalCount":8},"modules":{"items":[{"name":"base","path":"modules/base","contentType":"directory"},{"name":"darwin","path":"modules/darwin","contentType":"directory"},{"name":"extra","path":"modules/extra","contentType":"directory"},{"name":"flake","path":"modules/flake","contentType":"directory"},{"name":"home","path":"modules/home","contentType":"directory"},{"name":"iso","path":"modules/iso","contentType":"directory"},{"name":"nixos","path":"modules/nixos","contentType":"directory"},{"name":"profiles","path":"modules/profiles","contentType":"directory"}],"totalCount":8},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"home","path":"home","contentType":"directory"},{"name":"modules","path":"modules","contentType":"directory"},{"name":"secrets","path":"secrets","contentType":"directory"},{"name":"systems","path":"systems","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".envrc","path":".envrc","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"cog.toml","path":"cog.toml","contentType":"file"},{"name":"flake.lock","path":"flake.lock","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"},{"name":"justfile","path":"justfile","contentType":"file"},{"name":"stylua.toml","path":"stylua.toml","contentType":"file"},{"name":"todo.md","path":"todo.md","contentType":"file"}],"totalCount":20}},"fileTreeProcessingTime":76.930896,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":592914119,"defaultBranch":"main","name":"dotfiles","ownerLogin":"isabelroses","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-24T20:02:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/71222764?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8","listCacheKey":"v0:1754186400.0","canEdit":false,"refType":"tree","currentOid":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8"},"path":"modules/flake/programs/topology/assets/mac.png","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/isabelroses/dotfiles/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"mac.png","displayUrl":"https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png?raw=true","headerInfo":{"blobSize":"5.91 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"b6eb8bd","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fmac.png","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":null,"truncatedSloc":null},"mode":"executable file"},"image":true,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":null,"languageID":null,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/isabelroses/dotfiles/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/isabelroses/dotfiles/raw/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/mac.png","renderImageOrRaw":true,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/isabelroses/.github/blob/ba128475ef03d4555895a17f0f870df04d2596d1/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":false,"workflowRedirectUrl":null,"symbols":null},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true,"csrf_tokens":{"/isabelroses/dotfiles/branches":{"post":"e09bYXC1zDU2y-vSoL_lm1I-j6T-YBmHNiTNmDs-kmwp17QuZ4wkBFyDyKMWursvmP9SugPAiXTKHzRMoH39NA"},"/repos/preferences":{"post":"ROgmWRLnqWFH0j_NklMYzLaQ4a5ZfkkzCc6mpwY5FdO0NTo_zL7iVn9SpTtpysww3CzrI-RY0dA9GAfRmzOb9A"}}},"title":"dotfiles/modules/flake/programs/topology/assets/mac.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-0b6f8702959e.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}</script> 1913 - <div data-target="react-app.reactRoot"></div> 1914 - </react-app> 1915 - </turbo-frame> 1916 - 1917 - 1918 - 1919 - </div> 1920 - 1921 - </turbo-frame> 1922 - 1923 - </main> 1924 - </div> 1925 - 1926 - </div> 1927 - 1928 - <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > 1929 - <h2 class='sr-only'>Footer</h2> 1930 - 1931 - 1932 - 1933 - 1934 - <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> 1935 - <div class="d-flex flex-items-center flex-shrink-0 mx-2"> 1936 - <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com"> 1937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> 1938 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 1939 - </svg> 1940 - </a> 1941 - <span> 1942 - &copy; 2025 GitHub,&nbsp;Inc. 1943 - </span> 1944 - </div> 1945 - 1946 - <nav aria-label="Footer"> 1947 - <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> 1948 - 1949 - <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> 1950 - 1951 - <li class="mx-2"> 1952 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> 1953 - </li> 1954 - 1955 - <li class="mx-2"> 1956 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> 1957 - </li> 1958 - 1959 - <li class="mx-2"> 1960 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> 1961 - </li> 1962 - 1963 - <li class="mx-2"> 1964 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> 1965 - </li> 1966 - 1967 - <li class="mx-2"> 1968 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> 1969 - </li> 1970 - 1971 - <li class="mx-2"> 1972 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> 1973 - </li> 1974 - 1975 - <li class="mx-2" > 1976 - <cookie-consent-link> 1977 - <button 1978 - type="button" 1979 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" 1980 - data-action="click:cookie-consent-link#showConsentManagement" 1981 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" 1982 - > 1983 - Manage cookies 1984 - </button> 1985 - </cookie-consent-link> 1986 - </li> 1987 - 1988 - <li class="mx-2"> 1989 - <cookie-consent-link> 1990 - <button 1991 - type="button" 1992 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left" 1993 - data-action="click:cookie-consent-link#showConsentManagement" 1994 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" 1995 - > 1996 - Do not share my personal information 1997 - </button> 1998 - </cookie-consent-link> 1999 - </li> 2000 - 2001 - </ul> 2002 - </nav> 2003 - </div> 2004 - </footer> 2005 - 2006 - 2007 - 2008 - <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" 2009 - data-locale="en" 2010 - data-initial-cookie-consent-allowed="" 2011 - data-cookie-consent-required="true" 2012 - ></ghcc-consent> 2013 - 2014 - 2015 - 2016 - <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> 2017 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 2018 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 2019 - </svg> 2020 - <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> 2021 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2022 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2023 - </svg> 2024 - </button> 2025 - You canโ€™t perform that action at this time. 2026 - </div> 2027 - 2028 - <template id="site-details-dialog"> 2029 - <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> 2030 - <summary role="button" aria-label="Close dialog"></summary> 2031 - <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> 2032 - <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> 2033 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2034 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2035 - </svg> 2036 - </button> 2037 - <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> 2038 - </details-dialog> 2039 - </details> 2040 - </template> 2041 - 2042 - <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> 2043 - <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> 2044 - </div> 2045 - </div> 2046 - 2047 - <template id="snippet-clipboard-copy-button"> 2048 - <div class="zeroclipboard-container position-absolute right-0 top-0"> 2049 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2050 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> 2051 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2052 - </svg> 2053 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> 2054 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2055 - </svg> 2056 - </clipboard-copy> 2057 - </div> 2058 - </template> 2059 - <template id="snippet-clipboard-copy-button-unpositioned"> 2060 - <div class="zeroclipboard-container"> 2061 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2062 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> 2063 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2064 - </svg> 2065 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> 2066 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2067 - </svg> 2068 - </clipboard-copy> 2069 - </div> 2070 - </template> 2071 - 2072 - 2073 - 2074 - 2075 - </div> 2076 - <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> 2077 - <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> 2078 - </body> 2079 - </html> 2080 -
···
-2080
modules/flake/programs/topology/assets/pihole.png
··· 1 - 2 - 3 - 4 - 5 - 6 - 7 - <!DOCTYPE html> 8 - <html 9 - lang="en" 10 - 11 - data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" 12 - data-a11y-animated-images="system" data-a11y-link-underlines="true" 13 - 14 - > 15 - 16 - 17 - 18 - 19 - <head> 20 - <meta charset="utf-8"> 21 - <link rel="dns-prefetch" href="https://github.githubassets.com"> 22 - <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> 23 - <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> 24 - <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> 25 - <link rel="preconnect" href="https://github.githubassets.com" crossorigin> 26 - <link rel="preconnect" href="https://avatars.githubusercontent.com"> 27 - 28 - 29 - 30 - 31 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-367eb9a4565a.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-183adc0db479.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-2ddc677c041d.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-649962a5702a.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b17a8392e6c4.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e9ff47cedc2b.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a1cc7dba9f73.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-6c4dd39e2b0f.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-55459b36aa6d.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-9a0ef6e40ed3.css" /> 32 - 33 - 34 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-dc7ca6859caf.css" /> 35 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-e11b50dc0d94.css" /> 36 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-208b03e93e68.css" /> 37 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-709c905d887a.css" /> 38 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-b58e401b73ae.css" /> 39 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4ea853641043.css" /> 40 - 41 - 42 - 43 - 44 - <script type="application/json" id="client-env">{"locale":"en","featureFlags":["alternate_user_config_repo","api_insights_show_missing_data_banner","attestations_filtering","attestations_sorting","client_version_header","code_scanning_security_configuration_ternary_state","codespaces_prebuild_region_target_update","contact_requests_implicit_opt_in","contentful_lp_copilot_extensions","contentful_lp_flex_features","contentful_lp_footnotes","copilot_chat_attach_multiple_images","copilot_chat_group_notifications","copilot_chat_vision_in_claude","copilot_chat_vision_skip_thread_create","copilot_chat_wholearea_dd","copilot_coding_agent_task_creation_banner","copilot_custom_copilots_feature_preview","copilot_custom_copilots_images","copilot_duplicate_thread","copilot_free_to_paid_telem","copilot_ftp_hyperspace_upgrade_prompt","copilot_ftp_settings_upgrade","copilot_ftp_upgrade_to_pro_from_models","copilot_ftp_your_copilot_settings","copilot_immersive_agent_branch_selection","copilot_immersive_draft_issue_template_form_ui","copilot_immersive_structured_model_picker","copilot_markdown_image_allow_list","copilot_no_floating_button","copilot_read_shared_conversation","copilot_spaces_inline_edit_description","copilot_spaces_input_menu_select","copilot_spaces_upsert_reload_in_background","copilot_spark_allow_empty_commit","copilot_spark_single_user_iteration","copilot_spark_use_billing_headers","copilot_spark_write_iteration_history_to_git","copilot_task_oriented_assistive_prompts","copilot_workbench_agent_seed_tool","copilot_workbench_cache","copilot_workbench_connection_reload_banner","copilot_workbench_preview_analytics","copilot_workbench_ratelimit_fallback","copilot_workbench_refresh_on_wsod","copilot_workbench_synthetic_generation","custom_copilots_128k_window","custom_copilots_capi_mode","custom_copilots_file_uploads","direct_to_salesforce","dotcom_chat_client_side_skills","failbot_report_error_react_apps_on_page","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hpc_improve_dom_insertion_observer","insert_before_patch","issue_fields_report_usage","issues_catch_non_json_graphql_response","issues_comment_load_user_settings","issues_label_search_url","issues_preserve_tokens_in_urls","issues_react_blur_item_picker_on_close","issues_react_bots_timeline_pagination","issues_react_create_milestone","issues_react_prohibit_title_fallback","issues_react_remove_placeholders","issues_template_picker_redirect","lifecycle_label_name_updates","link_contact_sales_swp_marketo","marketing_fullstory_sampling","marketing_pages_search_explore_provider","memex_mwl_filter_field_delimiter","nonreporting_relay_graphql_status_codes","primer_react_select_panel_with_modern_action_list","remove_child_patch","sample_network_conn_type","scheduled_reminders_updated_limits","site_homepage_contentful","site_msbuild_hide_integrations","site_msbuild_launch","site_msbuild_webgl_hero","spark_commit_on_default_branch","spark_sync_repository_after_iteration","swp_enterprise_contact_form","use_paginated_repo_picker_cost_center_form","viewscreen_sandbox","workbench_default_sonnet4","workbench_store_readonly"],"copilotApiOverrideUrl":null}</script> 45 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-84a1cb087855.js"></script> 46 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-41f74a33a478.js" defer="defer"></script> 47 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-a8c266e5f126.js" defer="defer"></script> 48 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1d3d52-babac9434833.js" defer="defer"></script> 49 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-992dcf80dabf.js" defer="defer"></script> 50 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-17084f3f370f.js" defer="defer"></script> 51 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-c44edfed7f0d.js" defer="defer"></script> 52 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-cdf2757bd188.js" defer="defer"></script> 53 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-5913bc24f35d.js" defer="defer"></script> 54 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-c1e2fb329866.js" defer="defer"></script> 55 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-e50fb7a5fe8c.js" defer="defer"></script> 56 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-514a92c925f0.js" defer="defer"></script> 57 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-6a8c7d9a08fe.js" defer="defer"></script> 58 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-f03a40-c631b99b0f08.js" defer="defer"></script> 59 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-6f8fcdbbf55a.js" defer="defer"></script> 60 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-fa295cd1df7e.js" defer="defer"></script> 61 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-34c4b68b1dd3.js" defer="defer"></script> 62 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-b93a87060d31.js" defer="defer"></script> 63 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-300e8e4e0414.js" defer="defer"></script> 64 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-595819d3686f.js" defer="defer"></script> 65 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-5f044d8dcee3.js" defer="defer"></script> 66 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-c39857-68019bebf97d.js" defer="defer"></script> 67 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-19a9ffc8367b.js" defer="defer"></script> 68 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f953ddf42948.js" defer="defer"></script> 69 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-c9618dd6662a.js" defer="defer"></script> 70 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-a7da4270c5f4.js" defer="defer"></script> 71 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-567e0f340e27.js" defer="defer"></script> 72 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-625d7495b728.js" defer="defer"></script> 73 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-ea8eaa-a4bd0b8e9717.js" defer="defer"></script> 74 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-ddd47578369b.js" defer="defer"></script> 75 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-558c1f223d1d.js" defer="defer"></script> 76 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-5153545f9e1f.js" defer="defer"></script> 77 - 78 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-e3f517d7be60.js" defer="defer"></script> 79 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-da8e42da9f7f.js" defer="defer"></script> 80 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-8705026b409a.js" defer="defer"></script> 81 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-d5df7319196a.js" defer="defer"></script> 82 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-1fff13-e90c4f4db816.js" defer="defer"></script> 83 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-f747879a83cf.js" defer="defer"></script> 84 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-7457ebdd1a1f.js" defer="defer"></script> 85 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-d2d5b7-d1ead38b2474.js" defer="defer"></script> 86 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-16c4e2c524de.js" defer="defer"></script> 87 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_react-virtual_dist_esm_index_js-807aab04afeb.js" defer="defer"></script> 88 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_lodash-es__baseIsEqual_js-5a1e4257e977.js" defer="defer"></script> 89 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-b36da9-89c0fa93d060.js" defer="defer"></script> 90 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-02903aca93fb.js" defer="defer"></script> 91 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_fetch-headers_fetch-headers_ts-57e0e0-bed68ec00644.js" defer="defer"></script> 92 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-49a575c6713c.js" defer="defer"></script> 93 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-762eaa-7c0cb4bd2b5c.js" defer="defer"></script> 94 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_repos-file-tree-view_repos-file-tree-view_ts-ui_-e7c631-bae3635f2779.js" defer="defer"></script> 95 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-96ec19-ae69c1d6d8ce.js" defer="defer"></script> 96 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-21b2322bf20d.js" defer="defer"></script> 97 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-code-view_utilities_lines_ts-83e8972e3303.js" defer="defer"></script> 98 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-nav_code-nav_ts-ui_packages_filter-sort_filter-sort_ts-ui_packages_fuzzy-fil-1f9dbe-90a25aafe017.js" defer="defer"></script> 99 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-04d1b806f918.js" defer="defer"></script> 100 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 101 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.76f019fa552874dd1b3a.module.css" /> 102 - 103 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_notifications-subscriptions-me-a61c45-fff89a42d18b.js" defer="defer"></script> 104 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-84cd44486c1a.js" defer="defer"></script> 105 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 106 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.4c58e19e87a9dd1b1dfd.module.css" /> 107 - 108 - 109 - <title>dotfiles/modules/flake/programs/topology/assets/pihole.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles ยท GitHub</title> 110 - 111 - 112 - 113 - <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> 114 - <meta name="route-controller" content="blob" data-turbo-transient> 115 - <meta name="route-action" content="show" data-turbo-transient> 116 - <meta name="fetch-nonce" content="v2:bbaeb68e-f3ff-5ca6-014a-e0f815802d70"> 117 - 118 - 119 - <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> 120 - 121 - 122 - <meta name="request-id" content="E8F6:3BA7E1:9D9214:CB0672:688F295A" data-pjax-transient="true"/><meta name="html-safe-nonce" content="d155ba44035c2655ee7bd2880947a4b8ecd51e980b9da69b50818cb4c0050b04" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOEY2OjNCQTdFMTo5RDkyMTQ6Q0IwNjcyOjY4OEYyOTVBIiwidmlzaXRvcl9pZCI6IjUyNTk3NTgwNDIxMTE0ODYyOTgiLCJyZWdpb25fZWRnZSI6InVrc291dGgiLCJyZWdpb25fcmVuZGVyIjoidWtzb3V0aCJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="3bcbc1a0fb0e1e2eed8fedfda377f079916917cb467fdc794665e3edc6e99a57" data-pjax-transient="true"/> 123 - 124 - 125 - <meta name="hovercard-subject-tag" content="repository:592914119" data-turbo-transient> 126 - 127 - 128 - <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> 129 - 130 - 131 - <meta name="selected-link" value="repo_source" data-turbo-transient> 132 - <link rel="assets" href="https://github.githubassets.com/"> 133 - 134 - <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> 135 - 136 - <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> 137 - 138 - <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" /> 139 - 140 - 141 - 142 - 143 - 144 - 145 - <meta name="user-login" content=""> 146 - 147 - 148 - 149 - <meta name="viewport" content="width=device-width"> 150 - 151 - 152 - 153 - <meta name="description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub."> 154 - 155 - <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> 156 - 157 - <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> 158 - <meta property="fb:app_id" content="1401488693436528"> 159 - <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png" /> 160 - 161 - <meta name="twitter:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="dotfiles/modules/flake/programs/topology/assets/pihole.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta name="twitter:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 162 - <meta property="og:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta property="og:image:alt" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="dotfiles/modules/flake/programs/topology/assets/pihole.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta property="og:url" content="https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png" /><meta property="og:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 163 - 164 - 165 - 166 - 167 - 168 - <meta name="hostname" content="github.com"> 169 - 170 - 171 - 172 - <meta name="expected-hostname" content="github.com"> 173 - 174 - 175 - <meta http-equiv="x-pjax-version" content="cfb8e7d95b7eadd0ef58733affffed4526b494ccaf3dd25ecba671b579078cb1" data-turbo-track="reload"> 176 - <meta http-equiv="x-pjax-csp-version" content="8fba9c9418de26103e6176951dd0c38780be21b972f2019085dee08622fdb843" data-turbo-track="reload"> 177 - <meta http-equiv="x-pjax-css-version" content="b705b14fc1de584a5d763630d9070a4b5c9515cdbd9ae3954bd3dfcbebcb97fc" data-turbo-track="reload"> 178 - <meta http-equiv="x-pjax-js-version" content="6f4279361022e5f7aaf7f6db889807aeab92525b0f3fd01c30fc2fd836fb5881" data-turbo-track="reload"> 179 - 180 - <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> 181 - 182 - <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> 183 - 184 - <meta data-hydrostats="publish"> 185 - 186 - <meta name="go-import" content="github.com/isabelroses/dotfiles git https://github.com/isabelroses/dotfiles.git"> 187 - 188 - <meta name="octolytics-dimension-user_id" content="71222764" /><meta name="octolytics-dimension-user_login" content="isabelroses" /><meta name="octolytics-dimension-repository_id" content="592914119" /><meta name="octolytics-dimension-repository_nwo" content="isabelroses/dotfiles" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="592914119" /><meta name="octolytics-dimension-repository_network_root_nwo" content="isabelroses/dotfiles" /> 189 - 190 - 191 - 192 - 193 - 194 - <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> 195 - 196 - 197 - <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> 198 - 199 - <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> 200 - 201 - <meta name="release" content="846da3261aa79a972f201f9d2f7d9446ae1795f3"> 202 - <meta name="ui-target" content="full"> 203 - 204 - <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> 205 - <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> 206 - <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> 207 - 208 - <meta name="theme-color" content="#1e2327"> 209 - <meta name="color-scheme" content="light dark" /> 210 - 211 - 212 - <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> 213 - 214 - </head> 215 - 216 - <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 217 - <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 218 - 219 - 220 - 221 - 222 - <div class="position-relative header-wrapper js-header-wrapper "> 223 - <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> 224 - 225 - <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> 226 - <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> 227 - </span> 228 - 229 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 230 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.f8fba3bd67fe74f9227b.module.css" /> 231 - 232 - <react-partial 233 - partial-name="keyboard-shortcuts-dialog" 234 - data-ssr="false" 235 - data-attempted-ssr="false" 236 - data-react-profiling="false" 237 - > 238 - 239 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> 240 - <div data-target="react-partial.reactRoot"></div> 241 - </react-partial> 242 - 243 - 244 - 245 - 246 - 247 - 248 - 249 - 250 - 251 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_gsap_index_js-028cb2a18f5a.js" defer="defer"></script> 252 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9a914372b013.js" defer="defer"></script> 253 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-5e9442c22f33.js" defer="defer"></script> 254 - <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> 255 - <h2 class="sr-only">Navigation Menu</h2> 256 - 257 - <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> 258 - <span class="d-none">Toggle navigation</span> 259 - </button> 260 - 261 - <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> 262 - <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> 263 - <div class="flex-1"> 264 - <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> 265 - <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> 266 - <div class="HeaderMenu-toggle-bar rounded my-1"></div> 267 - <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> 268 - </span> 269 - </button> 270 - </div> 271 - 272 - <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" 273 - href="/" 274 - aria-label="Homepage" 275 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> 276 - <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> 277 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 278 - </svg> 279 - </a> 280 - 281 - <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end"> 282 - <a 283 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fpihole.png" 284 - class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" 285 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7ac991ab4a69333d486f4a659616e64c969705768d473947177f296a683fd136" 286 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 287 - > 288 - Sign in 289 - </a> 290 - <div class="AppHeader-appearanceSettings"> 291 - <react-partial-anchor> 292 - <button data-target="react-partial-anchor.anchor" id="icon-button-da6fc1a5-7b5e-4bf8-a5d2-96b4668a1abe" aria-labelledby="tooltip-4840c462-d365-4f13-bcbb-d7850e88748e" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 293 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 294 - </svg> 295 - </button><tool-tip id="tooltip-4840c462-d365-4f13-bcbb-d7850e88748e" for="icon-button-da6fc1a5-7b5e-4bf8-a5d2-96b4668a1abe" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 296 - 297 - <template data-target="react-partial-anchor.template"> 298 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 299 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 300 - 301 - <react-partial 302 - partial-name="appearance-settings" 303 - data-ssr="false" 304 - data-attempted-ssr="false" 305 - data-react-profiling="false" 306 - > 307 - 308 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 309 - <div data-target="react-partial.reactRoot"></div> 310 - </react-partial> 311 - 312 - </template> 313 - </react-partial-anchor> 314 - </div> 315 - 316 - </div> 317 - </div> 318 - 319 - 320 - <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> 321 - <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> 322 - <nav class="HeaderMenu-nav" aria-label="Global"> 323 - <ul class="d-lg-flex list-style-none"> 324 - 325 - 326 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 327 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 328 - Product 329 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 330 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 331 - </svg> 332 - </button> 333 - 334 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 335 - <div class="HeaderMenu-column pl-lg-4 px-lg-4"> 336 - <div class=""> 337 - 338 - <ul class="list-style-none f5" > 339 - <li> 340 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> 341 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 342 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 343 - </svg> 344 - <div> 345 - <div class="color-fg-default h4"> 346 - GitHub Copilot 347 - </div> 348 - Write better code with AI 349 - </div> 350 - 351 - 352 - </a></li> 353 - 354 - <li> 355 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_spark&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_spark_link_product_navbar&quot;}" href="https://github.com/features/spark"> 356 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-sparkle-fill color-fg-subtle mr-3"> 357 - <path d="M11.296 1.924c.24-.656 1.168-.656 1.408 0l.717 1.958a11.25 11.25 0 0 0 6.697 6.697l1.958.717c.657.24.657 1.168 0 1.408l-1.958.717a11.25 11.25 0 0 0-6.697 6.697l-.717 1.958c-.24.657-1.168.657-1.408 0l-.717-1.958a11.25 11.25 0 0 0-6.697-6.697l-1.958-.717c-.656-.24-.656-1.168 0-1.408l1.958-.717a11.25 11.25 0 0 0 6.697-6.697l.717-1.958Z"></path> 358 - </svg> 359 - <div> 360 - <div class="color-fg-default h4"> 361 - GitHub Spark 362 - <span class="HeaderMenu-label"> 363 - New 364 - </span> 365 - </div> 366 - Build and deploy intelligent apps 367 - </div> 368 - 369 - 370 - </a></li> 371 - 372 - <li> 373 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_models&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_models_link_product_navbar&quot;}" href="https://github.com/features/models"> 374 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-ai-model color-fg-subtle mr-3"> 375 - <path d="M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z"></path> 376 - </svg> 377 - <div> 378 - <div class="color-fg-default h4"> 379 - GitHub Models 380 - <span class="HeaderMenu-label"> 381 - New 382 - </span> 383 - </div> 384 - Manage and compare prompts 385 - </div> 386 - 387 - 388 - </a></li> 389 - 390 - <li> 391 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_product_navbar&quot;}" href="https://github.com/security/advanced-security"> 392 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 393 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 394 - </svg> 395 - <div> 396 - <div class="color-fg-default h4"> 397 - GitHub Advanced Security 398 - </div> 399 - Find and fix vulnerabilities 400 - </div> 401 - 402 - 403 - </a></li> 404 - 405 - <li> 406 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> 407 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> 408 - <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> 409 - </svg> 410 - <div> 411 - <div class="color-fg-default h4"> 412 - Actions 413 - </div> 414 - Automate any workflow 415 - </div> 416 - 417 - 418 - </a></li> 419 - 420 - 421 - </ul> 422 - </div> 423 - </div> 424 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 425 - <div class="border-bottom border-lg-bottom-0 pb-3"> 426 - 427 - <ul class="list-style-none f5" > 428 - <li> 429 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> 430 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> 431 - <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 432 - </svg> 433 - <div> 434 - <div class="color-fg-default h4"> 435 - Codespaces 436 - </div> 437 - Instant dev environments 438 - </div> 439 - 440 - 441 - </a></li> 442 - 443 - <li> 444 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> 445 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> 446 - <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> 447 - </svg> 448 - <div> 449 - <div class="color-fg-default h4"> 450 - Issues 451 - </div> 452 - Plan and track work 453 - </div> 454 - 455 - 456 - </a></li> 457 - 458 - <li> 459 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> 460 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> 461 - <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> 462 - </svg> 463 - <div> 464 - <div class="color-fg-default h4"> 465 - Code Review 466 - </div> 467 - Manage code changes 468 - </div> 469 - 470 - 471 - </a></li> 472 - 473 - <li> 474 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> 475 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 476 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 477 - </svg> 478 - <div> 479 - <div class="color-fg-default h4"> 480 - Discussions 481 - </div> 482 - Collaborate outside of code 483 - </div> 484 - 485 - 486 - </a></li> 487 - 488 - <li> 489 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> 490 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> 491 - <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> 492 - </svg> 493 - <div> 494 - <div class="color-fg-default h4"> 495 - Code Search 496 - </div> 497 - Find more, search less 498 - </div> 499 - 500 - 501 - </a></li> 502 - 503 - </ul> 504 - </div> 505 - </div> 506 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 507 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 508 - <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> 509 - 510 - <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> 511 - <li> 512 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_product_navbar&quot;}" href="https://github.com/why-github"> 513 - Why GitHub 514 - 515 - 516 - </a></li> 517 - 518 - <li> 519 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> 520 - All features 521 - 522 - 523 - </a></li> 524 - 525 - <li> 526 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> 527 - Documentation 528 - 529 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 530 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 531 - </svg> 532 - </a></li> 533 - 534 - <li> 535 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> 536 - GitHub Skills 537 - 538 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 539 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 540 - </svg> 541 - </a></li> 542 - 543 - <li> 544 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> 545 - Blog 546 - 547 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 548 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 549 - </svg> 550 - </a></li> 551 - 552 - </ul> 553 - </div> 554 - </div> 555 - 556 - </div> 557 - </li> 558 - 559 - 560 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 561 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 562 - Solutions 563 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 564 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 565 - </svg> 566 - </button> 567 - 568 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> 569 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 570 - <div class="border-bottom border-lg-bottom-0 mb-3 pb-3"> 571 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> 572 - 573 - <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> 574 - <li> 575 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> 576 - Enterprises 577 - 578 - 579 - </a></li> 580 - 581 - <li> 582 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> 583 - Small and medium teams 584 - 585 - 586 - </a></li> 587 - 588 - <li> 589 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> 590 - Startups 591 - 592 - 593 - </a></li> 594 - 595 - <li> 596 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> 597 - Nonprofits 598 - 599 - 600 - </a></li> 601 - 602 - </ul> 603 - </div> 604 - <div class="border-bottom border-lg-bottom-0 pb-3"> 605 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> 606 - 607 - <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> 608 - <li> 609 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> 610 - DevSecOps 611 - 612 - 613 - </a></li> 614 - 615 - <li> 616 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> 617 - DevOps 618 - 619 - 620 - </a></li> 621 - 622 - <li> 623 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> 624 - CI/CD 625 - 626 - 627 - </a></li> 628 - 629 - <li> 630 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> 631 - View all use cases 632 - 633 - 634 - </a></li> 635 - 636 - </ul> 637 - </div> 638 - </div> 639 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 640 - <div class="border-bottom border-lg-bottom-0 pb-3 pb-lg-0"> 641 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> 642 - 643 - <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> 644 - <li> 645 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> 646 - Healthcare 647 - 648 - 649 - </a></li> 650 - 651 - <li> 652 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> 653 - Financial services 654 - 655 - 656 - </a></li> 657 - 658 - <li> 659 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> 660 - Manufacturing 661 - 662 - 663 - </a></li> 664 - 665 - <li> 666 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> 667 - Government 668 - 669 - 670 - </a></li> 671 - 672 - <li> 673 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> 674 - View all industries 675 - 676 - 677 - </a></li> 678 - 679 - </ul> 680 - </div> 681 - </div> 682 - 683 - <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> 684 - <a href="/solutions"> 685 - View all solutions 686 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> 687 - <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> 688 - </svg> 689 - </a> </div> 690 - </div> 691 - </li> 692 - 693 - 694 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 695 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 696 - Resources 697 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 698 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 699 - </svg> 700 - </button> 701 - 702 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 703 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 704 - <div class="border-bottom border-lg-bottom-0 pb-3"> 705 - <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> 706 - 707 - <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> 708 - <li> 709 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> 710 - AI 711 - 712 - 713 - </a></li> 714 - 715 - <li> 716 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> 717 - DevOps 718 - 719 - 720 - </a></li> 721 - 722 - <li> 723 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> 724 - Security 725 - 726 - 727 - </a></li> 728 - 729 - <li> 730 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> 731 - Software Development 732 - 733 - 734 - </a></li> 735 - 736 - <li> 737 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> 738 - View all 739 - 740 - 741 - </a></li> 742 - 743 - </ul> 744 - </div> 745 - </div> 746 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 747 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 748 - <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> 749 - 750 - <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> 751 - <li> 752 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> 753 - Learning Pathways 754 - 755 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 756 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 757 - </svg> 758 - </a></li> 759 - 760 - <li> 761 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> 762 - Events &amp; Webinars 763 - 764 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 765 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 766 - </svg> 767 - </a></li> 768 - 769 - <li> 770 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> 771 - Ebooks &amp; Whitepapers 772 - 773 - 774 - </a></li> 775 - 776 - <li> 777 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> 778 - Customer Stories 779 - 780 - 781 - </a></li> 782 - 783 - <li> 784 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> 785 - Partners 786 - 787 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 788 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 789 - </svg> 790 - </a></li> 791 - 792 - <li> 793 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> 794 - Executive Insights 795 - 796 - 797 - </a></li> 798 - 799 - </ul> 800 - </div> 801 - </div> 802 - 803 - </div> 804 - </li> 805 - 806 - 807 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 808 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 809 - Open Source 810 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 811 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 812 - </svg> 813 - </button> 814 - 815 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 816 - <div class="HeaderMenu-column px-lg-4"> 817 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 818 - 819 - <ul class="list-style-none f5" > 820 - <li> 821 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> 822 - 823 - <div> 824 - <div class="color-fg-default h4"> 825 - GitHub Sponsors 826 - </div> 827 - Fund open source developers 828 - </div> 829 - 830 - 831 - </a></li> 832 - 833 - </ul> 834 - </div> 835 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 836 - 837 - <ul class="list-style-none f5" > 838 - <li> 839 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> 840 - 841 - <div> 842 - <div class="color-fg-default h4"> 843 - The ReadME Project 844 - </div> 845 - GitHub community articles 846 - </div> 847 - 848 - 849 - </a></li> 850 - 851 - </ul> 852 - </div> 853 - <div class="border-bottom border-bottom-0"> 854 - <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> 855 - 856 - <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> 857 - <li> 858 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> 859 - Topics 860 - 861 - 862 - </a></li> 863 - 864 - <li> 865 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> 866 - Trending 867 - 868 - 869 - </a></li> 870 - 871 - <li> 872 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> 873 - Collections 874 - 875 - 876 - </a></li> 877 - 878 - </ul> 879 - </div> 880 - </div> 881 - 882 - </div> 883 - </li> 884 - 885 - 886 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 887 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 888 - Enterprise 889 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 890 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 891 - </svg> 892 - </button> 893 - 894 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 895 - <div class="HeaderMenu-column px-lg-4"> 896 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 897 - 898 - <ul class="list-style-none f5" > 899 - <li> 900 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> 901 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> 902 - <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> 903 - </svg> 904 - <div> 905 - <div class="color-fg-default h4"> 906 - Enterprise platform 907 - </div> 908 - AI-powered developer platform 909 - </div> 910 - 911 - 912 - </a></li> 913 - 914 - </ul> 915 - </div> 916 - <div class="border-bottom border-bottom-0"> 917 - <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> 918 - 919 - <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> 920 - <li> 921 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security"> 922 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 923 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 924 - </svg> 925 - <div> 926 - <div class="color-fg-default h4"> 927 - GitHub Advanced Security 928 - </div> 929 - Enterprise-grade security features 930 - </div> 931 - 932 - 933 - </a></li> 934 - 935 - <li> 936 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> 937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 938 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 939 - </svg> 940 - <div> 941 - <div class="color-fg-default h4"> 942 - Copilot for business 943 - </div> 944 - Enterprise-grade AI features 945 - </div> 946 - 947 - 948 - </a></li> 949 - 950 - <li> 951 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> 952 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 953 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 954 - </svg> 955 - <div> 956 - <div class="color-fg-default h4"> 957 - Premium Support 958 - </div> 959 - Enterprise-grade 24/7 support 960 - </div> 961 - 962 - 963 - </a></li> 964 - 965 - </ul> 966 - </div> 967 - </div> 968 - 969 - </div> 970 - </li> 971 - 972 - 973 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 974 - <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> 975 - </li> 976 - 977 - </ul> 978 - </nav> 979 - 980 - <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> 981 - 982 - 983 - 984 - <qbsearch-input class="search-input" data-scope="repo:isabelroses/dotfiles" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="rZ6pfpNBRuOS7Y1a-mpX0ELEKAfhkIq-SOysH_09UdMTuD7YX-z-7Qa0h03pvmf4z29il02p6m8tpwLICJj4Tw" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="isabelroses/dotfiles" data-current-org="" data-current-owner="isabelroses" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> 985 - <div 986 - class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" 987 - data-action="click:qbsearch-input#searchInputContainerClicked" 988 - > 989 - <button 990 - type="button" 991 - class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" 992 - data-target="qbsearch-input.inputButton" 993 - aria-label="Search or jump toโ€ฆ" 994 - aria-haspopup="dialog" 995 - placeholder="Search or jump to..." 996 - data-hotkey=s,/ 997 - autocapitalize="off" 998 - data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" 999 - data-action="click:qbsearch-input#handleExpand" 1000 - > 1001 - <div class="mr-2 color-fg-muted"> 1002 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1003 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1004 - </svg> 1005 - </div> 1006 - <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> 1007 - <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> 1008 - <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> 1009 - </div> 1010 - </button> 1011 - 1012 - <input type="hidden" name="type" class="js-site-search-type-field"> 1013 - 1014 - 1015 - <div class="Overlay--hidden " data-modal-dialog-overlay> 1016 - <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> 1017 - <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> 1018 - <div class="Overlay-body Overlay-body--paddingNone"> 1019 - 1020 - <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" 1021 - style="border-radius: 12px;" 1022 - data-target="qbsearch-input.queryBuilderContainer" 1023 - hidden 1024 - > 1025 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> 1026 - <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> 1027 - <div class="FormControl FormControl--fullWidth"> 1028 - <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> 1029 - Search 1030 - </label> 1031 - <div 1032 - class="QueryBuilder-StyledInput width-fit " 1033 - data-target="query-builder.styledInput" 1034 - > 1035 - <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> 1036 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> 1037 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1038 - </svg> 1039 - </span> 1040 - <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> 1041 - <div 1042 - aria-hidden="true" 1043 - class="QueryBuilder-StyledInputContent" 1044 - data-target="query-builder.styledInputContent" 1045 - ></div> 1046 - <div class="QueryBuilder-InputWrapper"> 1047 - <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> 1048 - <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-6ffa1f77-27cc-49b7-9852-381f741b7517" data-target="query-builder.input" data-action=" 1049 - input:query-builder#inputChange 1050 - blur:query-builder#inputBlur 1051 - keydown:query-builder#inputKeydown 1052 - focus:query-builder#inputFocus 1053 - " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> 1054 - </div> 1055 - </div> 1056 - <span class="sr-only" id="query-builder-test-clear">Clear</span> 1057 - <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" 1058 - click:query-builder#clear 1059 - focus:query-builder#clearButtonFocus 1060 - blur:query-builder#clearButtonBlur 1061 - " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> 1062 - <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> 1063 - </svg> 1064 - </button> 1065 - 1066 - </div> 1067 - <template id="search-icon"> 1068 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1069 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1070 - </svg> 1071 - </template> 1072 - 1073 - <template id="code-icon"> 1074 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1075 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1076 - </svg> 1077 - </template> 1078 - 1079 - <template id="file-code-icon"> 1080 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> 1081 - <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> 1082 - </svg> 1083 - </template> 1084 - 1085 - <template id="history-icon"> 1086 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> 1087 - <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> 1088 - </svg> 1089 - </template> 1090 - 1091 - <template id="repo-icon"> 1092 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> 1093 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1094 - </svg> 1095 - </template> 1096 - 1097 - <template id="bookmark-icon"> 1098 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> 1099 - <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> 1100 - </svg> 1101 - </template> 1102 - 1103 - <template id="plus-circle-icon"> 1104 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> 1105 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> 1106 - </svg> 1107 - </template> 1108 - 1109 - <template id="circle-icon"> 1110 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> 1111 - <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> 1112 - </svg> 1113 - </template> 1114 - 1115 - <template id="trash-icon"> 1116 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> 1117 - <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> 1118 - </svg> 1119 - </template> 1120 - 1121 - <template id="team-icon"> 1122 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> 1123 - <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> 1124 - </svg> 1125 - </template> 1126 - 1127 - <template id="project-icon"> 1128 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> 1129 - <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> 1130 - </svg> 1131 - </template> 1132 - 1133 - <template id="pencil-icon"> 1134 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> 1135 - <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> 1136 - </svg> 1137 - </template> 1138 - 1139 - <template id="copilot-icon"> 1140 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> 1141 - <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> 1142 - </svg> 1143 - </template> 1144 - 1145 - <template id="copilot-error-icon"> 1146 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> 1147 - <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> 1148 - </svg> 1149 - </template> 1150 - 1151 - <template id="workflow-icon"> 1152 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> 1153 - <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> 1154 - </svg> 1155 - </template> 1156 - 1157 - <template id="book-icon"> 1158 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> 1159 - <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> 1160 - </svg> 1161 - </template> 1162 - 1163 - <template id="code-review-icon"> 1164 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> 1165 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> 1166 - </svg> 1167 - </template> 1168 - 1169 - <template id="codespaces-icon"> 1170 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> 1171 - <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 1172 - </svg> 1173 - </template> 1174 - 1175 - <template id="comment-icon"> 1176 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> 1177 - <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 1178 - </svg> 1179 - </template> 1180 - 1181 - <template id="comment-discussion-icon"> 1182 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> 1183 - <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> 1184 - </svg> 1185 - </template> 1186 - 1187 - <template id="organization-icon"> 1188 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> 1189 - <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1190 - </svg> 1191 - </template> 1192 - 1193 - <template id="rocket-icon"> 1194 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> 1195 - <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1196 - </svg> 1197 - </template> 1198 - 1199 - <template id="shield-check-icon"> 1200 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> 1201 - <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1202 - </svg> 1203 - </template> 1204 - 1205 - <template id="heart-icon"> 1206 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> 1207 - <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> 1208 - </svg> 1209 - </template> 1210 - 1211 - <template id="server-icon"> 1212 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> 1213 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1214 - </svg> 1215 - </template> 1216 - 1217 - <template id="globe-icon"> 1218 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> 1219 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> 1220 - </svg> 1221 - </template> 1222 - 1223 - <template id="issue-opened-icon"> 1224 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1225 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1226 - </svg> 1227 - </template> 1228 - 1229 - <template id="device-mobile-icon"> 1230 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> 1231 - <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> 1232 - </svg> 1233 - </template> 1234 - 1235 - <template id="package-icon"> 1236 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> 1237 - <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> 1238 - </svg> 1239 - </template> 1240 - 1241 - <template id="credit-card-icon"> 1242 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> 1243 - <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> 1244 - </svg> 1245 - </template> 1246 - 1247 - <template id="play-icon"> 1248 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1249 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1250 - </svg> 1251 - </template> 1252 - 1253 - <template id="gift-icon"> 1254 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> 1255 - <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> 1256 - </svg> 1257 - </template> 1258 - 1259 - <template id="code-square-icon"> 1260 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> 1261 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1262 - </svg> 1263 - </template> 1264 - 1265 - <template id="device-desktop-icon"> 1266 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> 1267 - <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> 1268 - </svg> 1269 - </template> 1270 - 1271 - <div class="position-relative"> 1272 - <ul 1273 - role="listbox" 1274 - class="ActionListWrap QueryBuilder-ListWrap" 1275 - aria-label="Suggestions" 1276 - data-action=" 1277 - combobox-commit:query-builder#comboboxCommit 1278 - mousedown:query-builder#resultsMousedown 1279 - " 1280 - data-target="query-builder.resultsList" 1281 - data-persist-list=false 1282 - id="query-builder-test-results" 1283 - tabindex="-1" 1284 - ></ul> 1285 - </div> 1286 - <div class="FormControl-inlineValidation" id="validation-6ffa1f77-27cc-49b7-9852-381f741b7517" hidden="hidden"> 1287 - <span class="FormControl-inlineValidation--visual"> 1288 - <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> 1289 - <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> 1290 - </svg> 1291 - </span> 1292 - <span></span> 1293 - </div> </div> 1294 - <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> 1295 - </query-builder></form> 1296 - <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> 1297 - <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> 1298 - </div> 1299 - </div> 1300 - </div> 1301 - 1302 - </div> 1303 - </modal-dialog></div> 1304 - </div> 1305 - <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> 1306 - <div class="color-fg-default"> 1307 - 1308 - <dialog-helper> 1309 - <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1310 - <div data-view-component="true" class="Overlay-header"> 1311 - <div class="Overlay-headerContentWrap"> 1312 - <div class="Overlay-titleWrap"> 1313 - <h1 class="Overlay-title " id="feedback-dialog-title"> 1314 - Provide feedback 1315 - </h1> 1316 - 1317 - </div> 1318 - <div class="Overlay-actionWrap"> 1319 - <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1320 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1321 - </svg></button> 1322 - </div> 1323 - </div> 1324 - 1325 - </div> 1326 - <scrollable-region data-labelled-by="feedback-dialog-title"> 1327 - <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="WXoh4xKFpSH8laC2x7mc1J0G1zzlSImNSMvR+HkfH4amiztdXQXOFnn8fLAgtplIwDlGLAU72XWw37ximjxHvQ==" /> 1328 - <p>We read every piece of feedback, and take your input very seriously.</p> 1329 - <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> 1330 - <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> 1331 - <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> 1332 - </form></div> 1333 - </scrollable-region> 1334 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel 1335 - </button> 1336 - <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback 1337 - </button> 1338 - </div> 1339 - </dialog></dialog-helper> 1340 - 1341 - <custom-scopes data-target="qbsearch-input.customScopesManager"> 1342 - 1343 - <dialog-helper> 1344 - <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1345 - <div data-view-component="true" class="Overlay-header Overlay-header--divided"> 1346 - <div class="Overlay-headerContentWrap"> 1347 - <div class="Overlay-titleWrap"> 1348 - <h1 class="Overlay-title " id="custom-scopes-dialog-title"> 1349 - Saved searches 1350 - </h1> 1351 - <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> 1352 - </div> 1353 - <div class="Overlay-actionWrap"> 1354 - <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1355 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1356 - </svg></button> 1357 - </div> 1358 - </div> 1359 - 1360 - </div> 1361 - <scrollable-region data-labelled-by="custom-scopes-dialog-title"> 1362 - <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1363 - 1364 - <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> 1365 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="dbInqiiVO0JkjYh6qRCP3vUvktpqox/raqlGWbauFmJeuw3IW34cmZHZXe43uG3UFeFbg3gHQIzNxfCju1EmCw==" /> 1366 - <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1367 - 1368 - <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> 1369 - 1370 - <div class="form-group"> 1371 - <label for="custom_scope_name">Name</label> 1372 - <auto-check src="/search/custom_scopes/check_name" required> 1373 - <input 1374 - type="text" 1375 - name="custom_scope_name" 1376 - id="custom_scope_name" 1377 - data-target="custom-scopes.customScopesNameField" 1378 - class="form-control" 1379 - autocomplete="off" 1380 - placeholder="github-ruby" 1381 - required 1382 - maxlength="50"> 1383 - <input type="hidden" data-csrf="true" value="Nx/mlhcxxE5C/qk0cuH5fN714bIST6ohTq6nTq4C2I832VN7lnLCnE1Xde3cEZAyF9CLhG3p/YajvhaUgvKM4A==" /> 1384 - </auto-check> 1385 - </div> 1386 - 1387 - <div class="form-group"> 1388 - <label for="custom_scope_query">Query</label> 1389 - <input 1390 - type="text" 1391 - name="custom_scope_query" 1392 - id="custom_scope_query" 1393 - data-target="custom-scopes.customScopesQueryField" 1394 - class="form-control" 1395 - autocomplete="off" 1396 - placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" 1397 - required 1398 - maxlength="500"> 1399 - </div> 1400 - 1401 - <p class="text-small color-fg-muted"> 1402 - To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. 1403 - </p> 1404 - </form> </div> 1405 - 1406 - <div data-target="custom-scopes.manageCustomScopesForm"> 1407 - <div data-target="custom-scopes.list"></div> 1408 - </div> 1409 - 1410 - </div> 1411 - </scrollable-region> 1412 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel 1413 - </button> 1414 - <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search 1415 - </button> 1416 - </div> 1417 - </dialog></dialog-helper> 1418 - </custom-scopes> 1419 - </div> 1420 - </qbsearch-input> 1421 - 1422 - 1423 - <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> 1424 - <a 1425 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fpihole.png" 1426 - class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1" 1427 - style="margin-left: 12px;" 1428 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7ac991ab4a69333d486f4a659616e64c969705768d473947177f296a683fd136" 1429 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 1430 - > 1431 - Sign in 1432 - </a> 1433 - </div> 1434 - 1435 - <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=isabelroses%2Fdotfiles" 1436 - class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" 1437 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7ac991ab4a69333d486f4a659616e64c969705768d473947177f296a683fd136" 1438 - data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" 1439 - > 1440 - Sign up 1441 - </a> 1442 - 1443 - <div class="AppHeader-appearanceSettings"> 1444 - <react-partial-anchor> 1445 - <button data-target="react-partial-anchor.anchor" id="icon-button-d6a172ee-c7bd-448c-8ccd-4a919cc016de" aria-labelledby="tooltip-ddfffe40-fec5-4bf8-b342-5e03356a7a71" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 1446 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 1447 - </svg> 1448 - </button><tool-tip id="tooltip-ddfffe40-fec5-4bf8-b342-5e03356a7a71" for="icon-button-d6a172ee-c7bd-448c-8ccd-4a919cc016de" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 1449 - 1450 - <template data-target="react-partial-anchor.template"> 1451 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 1452 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 1453 - 1454 - <react-partial 1455 - partial-name="appearance-settings" 1456 - data-ssr="false" 1457 - data-attempted-ssr="false" 1458 - data-react-profiling="false" 1459 - > 1460 - 1461 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 1462 - <div data-target="react-partial.reactRoot"></div> 1463 - </react-partial> 1464 - 1465 - </template> 1466 - </react-partial-anchor> 1467 - </div> 1468 - 1469 - <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button> 1470 - </div> 1471 - </div> 1472 - </div> 1473 - </div> 1474 - </header> 1475 - 1476 - <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> 1477 - 1478 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 1479 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1480 - </svg> 1481 - <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1482 - <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1483 - <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1484 - 1485 - <button id="icon-button-a2ab07d3-7771-4ba5-a44a-7d1c865f1032" aria-labelledby="tooltip-b28e6c58-4b17-4f4c-86c5-9c7c12a764e2" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> 1486 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1487 - </svg> 1488 - </button><tool-tip id="tooltip-b28e6c58-4b17-4f4c-86c5-9c7c12a764e2" for="icon-button-a2ab07d3-7771-4ba5-a44a-7d1c865f1032" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> 1489 - 1490 - 1491 - 1492 - </div> 1493 - </div> 1494 - 1495 - <div id="start-of-content" class="show-on-focus"></div> 1496 - 1497 - 1498 - 1499 - 1500 - 1501 - 1502 - 1503 - 1504 - <div id="js-flash-container" class="flash-container" data-turbo-replace> 1505 - 1506 - 1507 - 1508 - 1509 - <template class="js-flash-template"> 1510 - 1511 - <div class="flash flash-full {{ className }}"> 1512 - <div > 1513 - <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> 1514 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1515 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1516 - </svg> 1517 - </button> 1518 - <div aria-atomic="true" role="alert" class="js-flash-alert"> 1519 - 1520 - <div>{{ message }}</div> 1521 - 1522 - </div> 1523 - </div> 1524 - </div> 1525 - </template> 1526 - </div> 1527 - 1528 - 1529 - 1530 - 1531 - 1532 - 1533 - 1534 - 1535 - 1536 - <div 1537 - class="application-main " 1538 - data-commit-hovercards-enabled 1539 - data-discussion-hovercards-enabled 1540 - data-issue-and-pr-hovercards-enabled 1541 - data-project-hovercards-enabled 1542 - > 1543 - <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> 1544 - <main id="js-repo-pjax-container" > 1545 - 1546 - 1547 - 1548 - 1549 - 1550 - 1551 - 1552 - 1553 - 1554 - <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> 1555 - 1556 - <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> 1557 - 1558 - <div class="flex-auto min-width-0 width-fit"> 1559 - 1560 - <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> 1561 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> 1562 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1563 - </svg> 1564 - 1565 - <span class="author flex-self-stretch" itemprop="author"> 1566 - <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/isabelroses/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/isabelroses"> 1567 - isabelroses 1568 - </a> </span> 1569 - <span class="mx-1 flex-self-stretch color-fg-muted">/</span> 1570 - <strong itemprop="name" class="mr-2 flex-self-stretch"> 1571 - <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/isabelroses/dotfiles">dotfiles</a> 1572 - </strong> 1573 - 1574 - <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> 1575 - </div> 1576 - 1577 - 1578 - </div> 1579 - 1580 - <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> 1581 - <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> 1582 - 1583 - <li> 1584 - <include-fragment src="/isabelroses/dotfiles/sponsor_button" data-nonce="v2:bbaeb68e-f3ff-5ca6-014a-e0f815802d70" data-view-component="true"> 1585 - 1586 - <div data-show-on-forbidden-error hidden> 1587 - <div class="Box"> 1588 - <div class="blankslate-container"> 1589 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1590 - 1591 - 1592 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1593 - </h3> 1594 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1595 - </p> 1596 - 1597 - </div> </div> 1598 - </div> </div> 1599 - </include-fragment> 1600 - </li> 1601 - 1602 - 1603 - 1604 - <li> 1605 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="218cbf4b345b7191991aa596dc2e3295d2dbf1e5b4d1e45c7d0d3bdae2eae08b" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> 1606 - <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> 1607 - </svg>Notifications 1608 - </a> <tool-tip id="tooltip-d518eb19-00bc-407f-ad88-d24f80d9af5f" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> 1609 - 1610 - </li> 1611 - 1612 - <li> 1613 - <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b7f0658ef30b199cf8bda81646be3eb7824ff9ffa084072f5f6d956021f96d6d" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> 1614 - <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> 1615 - </svg>Fork 1616 - <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="10" data-view-component="true" class="Counter">10</span> 1617 - </a> 1618 - </li> 1619 - 1620 - <li> 1621 - <div data-view-component="true" class="BtnGroup d-flex"> 1622 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0c3a366a2a1b3440c374f3cba69ce69afa70427d014c0aca4ba2a6bf99789446" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> 1623 - <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> 1624 - </svg><span data-view-component="true" class="d-inline"> 1625 - Star 1626 - </span> <span id="repo-stars-counter-star" aria-label="292 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="292" data-view-component="true" class="Counter js-social-count">292</span> 1627 - </a></div> 1628 - </li> 1629 - 1630 - </ul> 1631 - 1632 - </div> 1633 - </div> 1634 - 1635 - <div id="responsive-meta-container" data-turbo-replace> 1636 - </div> 1637 - 1638 - 1639 - <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> 1640 - 1641 - <ul data-view-component="true" class="UnderlineNav-body list-style-none"> 1642 - <li data-view-component="true" class="d-inline-flex"> 1643 - <a id="code-tab" href="/isabelroses/dotfiles" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /isabelroses/dotfiles" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> 1644 - 1645 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> 1646 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1647 - </svg> 1648 - <span data-content="Code">Code</span> 1649 - <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1650 - 1651 - 1652 - 1653 - </a></li> 1654 - <li data-view-component="true" class="d-inline-flex"> 1655 - <a id="issues-tab" href="/isabelroses/dotfiles/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /isabelroses/dotfiles/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1656 - 1657 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> 1658 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1659 - </svg> 1660 - <span data-content="Issues">Issues</span> 1661 - <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1662 - 1663 - 1664 - 1665 - </a></li> 1666 - <li data-view-component="true" class="d-inline-flex"> 1667 - <a id="pull-requests-tab" href="/isabelroses/dotfiles/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /isabelroses/dotfiles/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1668 - 1669 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> 1670 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1671 - </svg> 1672 - <span data-content="Pull requests">Pull requests</span> 1673 - <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1" data-view-component="true" class="Counter">1</span> 1674 - 1675 - 1676 - 1677 - </a></li> 1678 - <li data-view-component="true" class="d-inline-flex"> 1679 - <a id="actions-tab" href="/isabelroses/dotfiles/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /isabelroses/dotfiles/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1680 - 1681 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> 1682 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1683 - </svg> 1684 - <span data-content="Actions">Actions</span> 1685 - <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1686 - 1687 - 1688 - 1689 - </a></li> 1690 - <li data-view-component="true" class="d-inline-flex"> 1691 - <a id="projects-tab" href="/isabelroses/dotfiles/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /isabelroses/dotfiles/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1692 - 1693 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> 1694 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1695 - </svg> 1696 - <span data-content="Projects">Projects</span> 1697 - <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1698 - 1699 - 1700 - 1701 - </a></li> 1702 - <li data-view-component="true" class="d-inline-flex"> 1703 - <a id="security-tab" href="/isabelroses/dotfiles/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /isabelroses/dotfiles/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1704 - 1705 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> 1706 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1707 - </svg> 1708 - <span data-content="Security">Security</span> 1709 - <include-fragment src="/isabelroses/dotfiles/security/overall-count" accept="text/fragment+html" data-nonce="v2:bbaeb68e-f3ff-5ca6-014a-e0f815802d70" data-view-component="true"> 1710 - 1711 - <div data-show-on-forbidden-error hidden> 1712 - <div class="Box"> 1713 - <div class="blankslate-container"> 1714 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1715 - 1716 - 1717 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1718 - </h3> 1719 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1720 - </p> 1721 - 1722 - </div> </div> 1723 - </div> </div> 1724 - </include-fragment> 1725 - 1726 - 1727 - </a></li> 1728 - <li data-view-component="true" class="d-inline-flex"> 1729 - <a id="insights-tab" href="/isabelroses/dotfiles/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /isabelroses/dotfiles/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1730 - 1731 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> 1732 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1733 - </svg> 1734 - <span data-content="Insights">Insights</span> 1735 - <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1736 - 1737 - 1738 - 1739 - </a></li> 1740 - </ul> 1741 - <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> 1742 - <focus-group direction="vertical" mnemonics retain> 1743 - <button id="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-button" popovertarget="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-overlay" aria-controls="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-list" aria-haspopup="true" aria-labelledby="tooltip-e8303d2b-93e0-4d53-b4d6-769eed1d488f" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> 1744 - <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> 1745 - </svg> 1746 - </button><tool-tip id="tooltip-e8303d2b-93e0-4d53-b4d6-769eed1d488f" for="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> 1747 - 1748 - 1749 - <anchored-position data-target="action-menu.overlay" id="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-overlay" anchor="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> 1750 - <div data-view-component="true" class="Overlay Overlay--size-auto"> 1751 - 1752 - <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> 1753 - <div data-view-component="true"> 1754 - <ul aria-labelledby="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-button" id="action-menu-c14acab0-e128-4c87-bb06-23febb04606a-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> 1755 - <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1756 - 1757 - 1758 - <a tabindex="-1" id="item-e941df94-248e-4cd9-9acf-29e16164fa86" href="/isabelroses/dotfiles" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1759 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1760 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1761 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1762 - </svg> 1763 - </span> 1764 - 1765 - <span data-view-component="true" class="ActionListItem-label"> 1766 - Code 1767 - </span> 1768 - </a> 1769 - 1770 - </li> 1771 - <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1772 - 1773 - 1774 - <a tabindex="-1" id="item-d5465a33-ba10-41f7-b67b-37189cbdf29a" href="/isabelroses/dotfiles/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1775 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1776 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1777 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1778 - </svg> 1779 - </span> 1780 - 1781 - <span data-view-component="true" class="ActionListItem-label"> 1782 - Issues 1783 - </span> 1784 - </a> 1785 - 1786 - </li> 1787 - <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1788 - 1789 - 1790 - <a tabindex="-1" id="item-da0b0cce-d048-41d8-8349-2c7872ddd4ec" href="/isabelroses/dotfiles/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1791 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1792 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> 1793 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1794 - </svg> 1795 - </span> 1796 - 1797 - <span data-view-component="true" class="ActionListItem-label"> 1798 - Pull requests 1799 - </span> 1800 - </a> 1801 - 1802 - </li> 1803 - <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1804 - 1805 - 1806 - <a tabindex="-1" id="item-222c38cd-effb-475a-96ba-90c14f761b01" href="/isabelroses/dotfiles/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1807 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1808 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1809 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1810 - </svg> 1811 - </span> 1812 - 1813 - <span data-view-component="true" class="ActionListItem-label"> 1814 - Actions 1815 - </span> 1816 - </a> 1817 - 1818 - </li> 1819 - <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1820 - 1821 - 1822 - <a tabindex="-1" id="item-13f837d4-5866-47a4-84e9-6b9a1ff04aa9" href="/isabelroses/dotfiles/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1823 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1824 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> 1825 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1826 - </svg> 1827 - </span> 1828 - 1829 - <span data-view-component="true" class="ActionListItem-label"> 1830 - Projects 1831 - </span> 1832 - </a> 1833 - 1834 - </li> 1835 - <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1836 - 1837 - 1838 - <a tabindex="-1" id="item-4bd4f3c6-27b1-4d89-b397-21d9a4be2957" href="/isabelroses/dotfiles/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1839 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1840 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> 1841 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1842 - </svg> 1843 - </span> 1844 - 1845 - <span data-view-component="true" class="ActionListItem-label"> 1846 - Security 1847 - </span> 1848 - </a> 1849 - 1850 - </li> 1851 - <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1852 - 1853 - 1854 - <a tabindex="-1" id="item-04cd088c-7061-4909-a74e-1dc8dd9328a4" href="/isabelroses/dotfiles/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1855 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1856 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> 1857 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1858 - </svg> 1859 - </span> 1860 - 1861 - <span data-view-component="true" class="ActionListItem-label"> 1862 - Insights 1863 - </span> 1864 - </a> 1865 - 1866 - </li> 1867 - </ul> 1868 - </div></action-list> 1869 - 1870 - 1871 - </div> 1872 - 1873 - </div></anchored-position> </focus-group> 1874 - </action-menu></div> 1875 - </nav> 1876 - 1877 - </div> 1878 - 1879 - 1880 - 1881 - 1882 - 1883 - <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> 1884 - <div id="repo-content-pjax-container" class="repository-content " > 1885 - 1886 - 1887 - 1888 - 1889 - 1890 - 1891 - 1892 - 1893 - 1894 - 1895 - 1896 - 1897 - 1898 - 1899 - 1900 - <react-app 1901 - app-name="react-code-view" 1902 - initial-path="/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png" 1903 - style="display: block; min-height: calc(100vh - 64px);" 1904 - data-attempted-ssr="false" 1905 - data-ssr="false" 1906 - data-lazy="false" 1907 - data-alternate="false" 1908 - data-data-router-enabled="false" 1909 - data-react-profiling="false" 1910 - > 1911 - 1912 - <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"modules/flake/programs/topology/assets":{"items":[{"name":"mac.png","path":"modules/flake/programs/topology/assets/mac.png","contentType":"file"},{"name":"pihole.png","path":"modules/flake/programs/topology/assets/pihole.png","contentType":"file"},{"name":"rpi.svg","path":"modules/flake/programs/topology/assets/rpi.svg","contentType":"file"}],"totalCount":3},"modules/flake/programs/topology":{"items":[{"name":"assets","path":"modules/flake/programs/topology/assets","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/topology/default.nix","contentType":"file"},{"name":"output.nix","path":"modules/flake/programs/topology/output.nix","contentType":"file"}],"totalCount":3},"modules/flake/programs":{"items":[{"name":"topology","path":"modules/flake/programs/topology","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/default.nix","contentType":"file"},{"name":"deploy.nix","path":"modules/flake/programs/deploy.nix","contentType":"file"},{"name":"formatter.nix","path":"modules/flake/programs/formatter.nix","contentType":"file"},{"name":"git-hooks.nix","path":"modules/flake/programs/git-hooks.nix","contentType":"file"},{"name":"shell.nix","path":"modules/flake/programs/shell.nix","contentType":"file"}],"totalCount":6},"modules/flake":{"items":[{"name":"checks","path":"modules/flake/checks","contentType":"directory"},{"name":"lib","path":"modules/flake/lib","contentType":"directory"},{"name":"packages","path":"modules/flake/packages","contentType":"directory"},{"name":"programs","path":"modules/flake/programs","contentType":"directory"},{"name":"args.nix","path":"modules/flake/args.nix","contentType":"file"},{"name":"default.nix","path":"modules/flake/default.nix","contentType":"file"},{"name":"modules.nix","path":"modules/flake/modules.nix","contentType":"file"},{"name":"overlays.nix","path":"modules/flake/overlays.nix","contentType":"file"}],"totalCount":8},"modules":{"items":[{"name":"base","path":"modules/base","contentType":"directory"},{"name":"darwin","path":"modules/darwin","contentType":"directory"},{"name":"extra","path":"modules/extra","contentType":"directory"},{"name":"flake","path":"modules/flake","contentType":"directory"},{"name":"home","path":"modules/home","contentType":"directory"},{"name":"iso","path":"modules/iso","contentType":"directory"},{"name":"nixos","path":"modules/nixos","contentType":"directory"},{"name":"profiles","path":"modules/profiles","contentType":"directory"}],"totalCount":8},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"home","path":"home","contentType":"directory"},{"name":"modules","path":"modules","contentType":"directory"},{"name":"secrets","path":"secrets","contentType":"directory"},{"name":"systems","path":"systems","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".envrc","path":".envrc","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"cog.toml","path":"cog.toml","contentType":"file"},{"name":"flake.lock","path":"flake.lock","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"},{"name":"justfile","path":"justfile","contentType":"file"},{"name":"stylua.toml","path":"stylua.toml","contentType":"file"},{"name":"todo.md","path":"todo.md","contentType":"file"}],"totalCount":20}},"fileTreeProcessingTime":11.374747,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":592914119,"defaultBranch":"main","name":"dotfiles","ownerLogin":"isabelroses","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-24T20:02:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/71222764?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8","listCacheKey":"v0:1754186400.0","canEdit":false,"refType":"tree","currentOid":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8"},"path":"modules/flake/programs/topology/assets/pihole.png","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/isabelroses/dotfiles/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"pihole.png","displayUrl":"https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png?raw=true","headerInfo":{"blobSize":"24.2 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"84f0081","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Fpihole.png","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":null,"truncatedSloc":null},"mode":"executable file"},"image":true,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":null,"languageID":null,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/isabelroses/dotfiles/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/isabelroses/dotfiles/raw/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/pihole.png","renderImageOrRaw":true,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/isabelroses/.github/blob/ba128475ef03d4555895a17f0f870df04d2596d1/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":false,"workflowRedirectUrl":null,"symbols":null},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true,"csrf_tokens":{"/isabelroses/dotfiles/branches":{"post":"W_sS_uxuEq1XRS5usQkpRhdayynkOF85BdzpZpL1t1spxY7GqqrvIfQkWLmBwCc1zR41ndXtBFAOOhVdNmm8Tw"},"/repos/preferences":{"post":"P0XT05-Rui8utAt81HAqJSVNR81OxwtMdXCDnh096ZTB4cfz0XoPP24QSaWeL_C7rbSkknhHpWJ2xjkpJmBzuA"}}},"title":"dotfiles/modules/flake/programs/topology/assets/pihole.png at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-0b6f8702959e.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}</script> 1913 - <div data-target="react-app.reactRoot"></div> 1914 - </react-app> 1915 - </turbo-frame> 1916 - 1917 - 1918 - 1919 - </div> 1920 - 1921 - </turbo-frame> 1922 - 1923 - </main> 1924 - </div> 1925 - 1926 - </div> 1927 - 1928 - <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > 1929 - <h2 class='sr-only'>Footer</h2> 1930 - 1931 - 1932 - 1933 - 1934 - <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> 1935 - <div class="d-flex flex-items-center flex-shrink-0 mx-2"> 1936 - <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com"> 1937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> 1938 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 1939 - </svg> 1940 - </a> 1941 - <span> 1942 - &copy; 2025 GitHub,&nbsp;Inc. 1943 - </span> 1944 - </div> 1945 - 1946 - <nav aria-label="Footer"> 1947 - <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> 1948 - 1949 - <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> 1950 - 1951 - <li class="mx-2"> 1952 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> 1953 - </li> 1954 - 1955 - <li class="mx-2"> 1956 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> 1957 - </li> 1958 - 1959 - <li class="mx-2"> 1960 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> 1961 - </li> 1962 - 1963 - <li class="mx-2"> 1964 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> 1965 - </li> 1966 - 1967 - <li class="mx-2"> 1968 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> 1969 - </li> 1970 - 1971 - <li class="mx-2"> 1972 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> 1973 - </li> 1974 - 1975 - <li class="mx-2" > 1976 - <cookie-consent-link> 1977 - <button 1978 - type="button" 1979 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" 1980 - data-action="click:cookie-consent-link#showConsentManagement" 1981 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" 1982 - > 1983 - Manage cookies 1984 - </button> 1985 - </cookie-consent-link> 1986 - </li> 1987 - 1988 - <li class="mx-2"> 1989 - <cookie-consent-link> 1990 - <button 1991 - type="button" 1992 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left" 1993 - data-action="click:cookie-consent-link#showConsentManagement" 1994 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" 1995 - > 1996 - Do not share my personal information 1997 - </button> 1998 - </cookie-consent-link> 1999 - </li> 2000 - 2001 - </ul> 2002 - </nav> 2003 - </div> 2004 - </footer> 2005 - 2006 - 2007 - 2008 - <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" 2009 - data-locale="en" 2010 - data-initial-cookie-consent-allowed="" 2011 - data-cookie-consent-required="true" 2012 - ></ghcc-consent> 2013 - 2014 - 2015 - 2016 - <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> 2017 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 2018 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 2019 - </svg> 2020 - <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> 2021 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2022 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2023 - </svg> 2024 - </button> 2025 - You canโ€™t perform that action at this time. 2026 - </div> 2027 - 2028 - <template id="site-details-dialog"> 2029 - <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> 2030 - <summary role="button" aria-label="Close dialog"></summary> 2031 - <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> 2032 - <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> 2033 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2034 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2035 - </svg> 2036 - </button> 2037 - <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> 2038 - </details-dialog> 2039 - </details> 2040 - </template> 2041 - 2042 - <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> 2043 - <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> 2044 - </div> 2045 - </div> 2046 - 2047 - <template id="snippet-clipboard-copy-button"> 2048 - <div class="zeroclipboard-container position-absolute right-0 top-0"> 2049 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2050 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> 2051 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2052 - </svg> 2053 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> 2054 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2055 - </svg> 2056 - </clipboard-copy> 2057 - </div> 2058 - </template> 2059 - <template id="snippet-clipboard-copy-button-unpositioned"> 2060 - <div class="zeroclipboard-container"> 2061 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2062 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> 2063 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2064 - </svg> 2065 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> 2066 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2067 - </svg> 2068 - </clipboard-copy> 2069 - </div> 2070 - </template> 2071 - 2072 - 2073 - 2074 - 2075 - </div> 2076 - <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> 2077 - <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> 2078 - </body> 2079 - </html> 2080 -
···
-2080
modules/flake/programs/topology/assets/rpi.svg
··· 1 - 2 - 3 - 4 - 5 - 6 - 7 - <!DOCTYPE html> 8 - <html 9 - lang="en" 10 - 11 - data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" 12 - data-a11y-animated-images="system" data-a11y-link-underlines="true" 13 - 14 - > 15 - 16 - 17 - 18 - 19 - <head> 20 - <meta charset="utf-8"> 21 - <link rel="dns-prefetch" href="https://github.githubassets.com"> 22 - <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> 23 - <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> 24 - <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> 25 - <link rel="preconnect" href="https://github.githubassets.com" crossorigin> 26 - <link rel="preconnect" href="https://avatars.githubusercontent.com"> 27 - 28 - 29 - 30 - 31 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-367eb9a4565a.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-183adc0db479.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-2ddc677c041d.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-649962a5702a.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b17a8392e6c4.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e9ff47cedc2b.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a1cc7dba9f73.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-6c4dd39e2b0f.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-55459b36aa6d.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-9a0ef6e40ed3.css" /> 32 - 33 - 34 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-dc7ca6859caf.css" /> 35 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-e11b50dc0d94.css" /> 36 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-208b03e93e68.css" /> 37 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-709c905d887a.css" /> 38 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-b58e401b73ae.css" /> 39 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4ea853641043.css" /> 40 - 41 - 42 - 43 - 44 - <script type="application/json" id="client-env">{"locale":"en","featureFlags":["alternate_user_config_repo","api_insights_show_missing_data_banner","attestations_filtering","attestations_sorting","client_version_header","code_scanning_security_configuration_ternary_state","codespaces_prebuild_region_target_update","contact_requests_implicit_opt_in","contentful_lp_copilot_extensions","contentful_lp_flex_features","contentful_lp_footnotes","copilot_chat_attach_multiple_images","copilot_chat_group_notifications","copilot_chat_vision_in_claude","copilot_chat_vision_skip_thread_create","copilot_chat_wholearea_dd","copilot_coding_agent_task_creation_banner","copilot_custom_copilots_feature_preview","copilot_custom_copilots_images","copilot_duplicate_thread","copilot_free_to_paid_telem","copilot_ftp_hyperspace_upgrade_prompt","copilot_ftp_settings_upgrade","copilot_ftp_upgrade_to_pro_from_models","copilot_ftp_your_copilot_settings","copilot_immersive_agent_branch_selection","copilot_immersive_draft_issue_template_form_ui","copilot_immersive_structured_model_picker","copilot_markdown_image_allow_list","copilot_no_floating_button","copilot_read_shared_conversation","copilot_spaces_inline_edit_description","copilot_spaces_input_menu_select","copilot_spaces_upsert_reload_in_background","copilot_spark_allow_empty_commit","copilot_spark_single_user_iteration","copilot_spark_use_billing_headers","copilot_spark_write_iteration_history_to_git","copilot_task_oriented_assistive_prompts","copilot_workbench_agent_seed_tool","copilot_workbench_cache","copilot_workbench_connection_reload_banner","copilot_workbench_preview_analytics","copilot_workbench_ratelimit_fallback","copilot_workbench_refresh_on_wsod","copilot_workbench_synthetic_generation","custom_copilots_128k_window","custom_copilots_capi_mode","custom_copilots_file_uploads","direct_to_salesforce","dotcom_chat_client_side_skills","failbot_report_error_react_apps_on_page","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hpc_improve_dom_insertion_observer","insert_before_patch","issue_fields_report_usage","issues_catch_non_json_graphql_response","issues_comment_load_user_settings","issues_label_search_url","issues_preserve_tokens_in_urls","issues_react_blur_item_picker_on_close","issues_react_bots_timeline_pagination","issues_react_create_milestone","issues_react_prohibit_title_fallback","issues_react_remove_placeholders","issues_template_picker_redirect","lifecycle_label_name_updates","link_contact_sales_swp_marketo","marketing_fullstory_sampling","marketing_pages_search_explore_provider","memex_mwl_filter_field_delimiter","nonreporting_relay_graphql_status_codes","primer_react_select_panel_with_modern_action_list","remove_child_patch","sample_network_conn_type","scheduled_reminders_updated_limits","site_homepage_contentful","site_msbuild_hide_integrations","site_msbuild_launch","site_msbuild_webgl_hero","spark_commit_on_default_branch","spark_sync_repository_after_iteration","swp_enterprise_contact_form","use_paginated_repo_picker_cost_center_form","viewscreen_sandbox","workbench_default_sonnet4","workbench_store_readonly"],"copilotApiOverrideUrl":null}</script> 45 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-84a1cb087855.js"></script> 46 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-41f74a33a478.js" defer="defer"></script> 47 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-a8c266e5f126.js" defer="defer"></script> 48 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1d3d52-babac9434833.js" defer="defer"></script> 49 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-992dcf80dabf.js" defer="defer"></script> 50 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-17084f3f370f.js" defer="defer"></script> 51 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-c44edfed7f0d.js" defer="defer"></script> 52 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-cdf2757bd188.js" defer="defer"></script> 53 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-5913bc24f35d.js" defer="defer"></script> 54 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-c1e2fb329866.js" defer="defer"></script> 55 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-e50fb7a5fe8c.js" defer="defer"></script> 56 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-514a92c925f0.js" defer="defer"></script> 57 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-6a8c7d9a08fe.js" defer="defer"></script> 58 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-f03a40-c631b99b0f08.js" defer="defer"></script> 59 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-6f8fcdbbf55a.js" defer="defer"></script> 60 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-fa295cd1df7e.js" defer="defer"></script> 61 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-34c4b68b1dd3.js" defer="defer"></script> 62 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-b93a87060d31.js" defer="defer"></script> 63 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-300e8e4e0414.js" defer="defer"></script> 64 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-595819d3686f.js" defer="defer"></script> 65 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-5f044d8dcee3.js" defer="defer"></script> 66 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-c39857-68019bebf97d.js" defer="defer"></script> 67 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-19a9ffc8367b.js" defer="defer"></script> 68 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f953ddf42948.js" defer="defer"></script> 69 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-c9618dd6662a.js" defer="defer"></script> 70 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-a7da4270c5f4.js" defer="defer"></script> 71 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-567e0f340e27.js" defer="defer"></script> 72 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-625d7495b728.js" defer="defer"></script> 73 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-ea8eaa-a4bd0b8e9717.js" defer="defer"></script> 74 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-ddd47578369b.js" defer="defer"></script> 75 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-558c1f223d1d.js" defer="defer"></script> 76 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-5153545f9e1f.js" defer="defer"></script> 77 - 78 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-e3f517d7be60.js" defer="defer"></script> 79 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-da8e42da9f7f.js" defer="defer"></script> 80 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-8705026b409a.js" defer="defer"></script> 81 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-d5df7319196a.js" defer="defer"></script> 82 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-1fff13-e90c4f4db816.js" defer="defer"></script> 83 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-f747879a83cf.js" defer="defer"></script> 84 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-7457ebdd1a1f.js" defer="defer"></script> 85 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-d2d5b7-d1ead38b2474.js" defer="defer"></script> 86 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-16c4e2c524de.js" defer="defer"></script> 87 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_react-virtual_dist_esm_index_js-807aab04afeb.js" defer="defer"></script> 88 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_lodash-es__baseIsEqual_js-5a1e4257e977.js" defer="defer"></script> 89 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-b36da9-89c0fa93d060.js" defer="defer"></script> 90 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-02903aca93fb.js" defer="defer"></script> 91 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_fetch-headers_fetch-headers_ts-57e0e0-bed68ec00644.js" defer="defer"></script> 92 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-49a575c6713c.js" defer="defer"></script> 93 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-762eaa-7c0cb4bd2b5c.js" defer="defer"></script> 94 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_repos-file-tree-view_repos-file-tree-view_ts-ui_-e7c631-bae3635f2779.js" defer="defer"></script> 95 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-96ec19-ae69c1d6d8ce.js" defer="defer"></script> 96 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-21b2322bf20d.js" defer="defer"></script> 97 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-code-view_utilities_lines_ts-83e8972e3303.js" defer="defer"></script> 98 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-nav_code-nav_ts-ui_packages_filter-sort_filter-sort_ts-ui_packages_fuzzy-fil-1f9dbe-90a25aafe017.js" defer="defer"></script> 99 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-04d1b806f918.js" defer="defer"></script> 100 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 101 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.76f019fa552874dd1b3a.module.css" /> 102 - 103 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_notifications-subscriptions-me-a61c45-fff89a42d18b.js" defer="defer"></script> 104 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-84cd44486c1a.js" defer="defer"></script> 105 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 106 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.4c58e19e87a9dd1b1dfd.module.css" /> 107 - 108 - 109 - <title>dotfiles/modules/flake/programs/topology/assets/rpi.svg at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles ยท GitHub</title> 110 - 111 - 112 - 113 - <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> 114 - <meta name="route-controller" content="blob" data-turbo-transient> 115 - <meta name="route-action" content="show" data-turbo-transient> 116 - <meta name="fetch-nonce" content="v2:4cbf445c-cf8c-5c3c-0f03-62f35db4675b"> 117 - 118 - 119 - <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> 120 - 121 - 122 - <meta name="request-id" content="E8DC:C7D9:3A3C0E:4C73F9:688F2973" data-pjax-transient="true"/><meta name="html-safe-nonce" content="b85471b27cc0637c4b1431a2cc2d339e893bae7e9cea5f906af41816b3791367" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOERDOkM3RDk6M0EzQzBFOjRDNzNGOTo2ODhGMjk3MyIsInZpc2l0b3JfaWQiOiI4MzA3MzI2NTM0NTU5NDQwNTEiLCJyZWdpb25fZWRnZSI6InVrc291dGgiLCJyZWdpb25fcmVuZGVyIjoidWtzb3V0aCJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="198fba22e9dd55b67d44f700fa9e95bf1c240e15bcd57bab1ac7e0e302d3d337" data-pjax-transient="true"/> 123 - 124 - 125 - <meta name="hovercard-subject-tag" content="repository:592914119" data-turbo-transient> 126 - 127 - 128 - <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> 129 - 130 - 131 - <meta name="selected-link" value="repo_source" data-turbo-transient> 132 - <link rel="assets" href="https://github.githubassets.com/"> 133 - 134 - <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> 135 - 136 - <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> 137 - 138 - <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" /> 139 - 140 - 141 - 142 - 143 - 144 - 145 - <meta name="user-login" content=""> 146 - 147 - 148 - 149 - <meta name="viewport" content="width=device-width"> 150 - 151 - 152 - 153 - <meta name="description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub."> 154 - 155 - <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> 156 - 157 - <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> 158 - <meta property="fb:app_id" content="1401488693436528"> 159 - <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg" /> 160 - 161 - <meta name="twitter:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="dotfiles/modules/flake/programs/topology/assets/rpi.svg at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta name="twitter:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 162 - <meta property="og:image" content="https://opengraph.githubassets.com/5819a8aecd084ddfd5f9b4032a10b5a8fa597dc8845bdc7dc5a3094d7eb08cdb/isabelroses/dotfiles" /><meta property="og:image:alt" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="dotfiles/modules/flake/programs/topology/assets/rpi.svg at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles" /><meta property="og:url" content="https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg" /><meta property="og:description" content="Our over complex system configurations . Contribute to isabelroses/dotfiles development by creating an account on GitHub." /> 163 - 164 - 165 - 166 - 167 - 168 - <meta name="hostname" content="github.com"> 169 - 170 - 171 - 172 - <meta name="expected-hostname" content="github.com"> 173 - 174 - 175 - <meta http-equiv="x-pjax-version" content="cfb8e7d95b7eadd0ef58733affffed4526b494ccaf3dd25ecba671b579078cb1" data-turbo-track="reload"> 176 - <meta http-equiv="x-pjax-csp-version" content="8fba9c9418de26103e6176951dd0c38780be21b972f2019085dee08622fdb843" data-turbo-track="reload"> 177 - <meta http-equiv="x-pjax-css-version" content="b705b14fc1de584a5d763630d9070a4b5c9515cdbd9ae3954bd3dfcbebcb97fc" data-turbo-track="reload"> 178 - <meta http-equiv="x-pjax-js-version" content="6f4279361022e5f7aaf7f6db889807aeab92525b0f3fd01c30fc2fd836fb5881" data-turbo-track="reload"> 179 - 180 - <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> 181 - 182 - <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> 183 - 184 - <meta data-hydrostats="publish"> 185 - 186 - <meta name="go-import" content="github.com/isabelroses/dotfiles git https://github.com/isabelroses/dotfiles.git"> 187 - 188 - <meta name="octolytics-dimension-user_id" content="71222764" /><meta name="octolytics-dimension-user_login" content="isabelroses" /><meta name="octolytics-dimension-repository_id" content="592914119" /><meta name="octolytics-dimension-repository_nwo" content="isabelroses/dotfiles" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="592914119" /><meta name="octolytics-dimension-repository_network_root_nwo" content="isabelroses/dotfiles" /> 189 - 190 - 191 - 192 - 193 - 194 - <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> 195 - 196 - 197 - <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> 198 - 199 - <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> 200 - 201 - <meta name="release" content="846da3261aa79a972f201f9d2f7d9446ae1795f3"> 202 - <meta name="ui-target" content="full"> 203 - 204 - <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> 205 - <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> 206 - <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> 207 - 208 - <meta name="theme-color" content="#1e2327"> 209 - <meta name="color-scheme" content="light dark" /> 210 - 211 - 212 - <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> 213 - 214 - </head> 215 - 216 - <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 217 - <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> 218 - 219 - 220 - 221 - 222 - <div class="position-relative header-wrapper js-header-wrapper "> 223 - <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> 224 - 225 - <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> 226 - <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> 227 - </span> 228 - 229 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 230 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.f8fba3bd67fe74f9227b.module.css" /> 231 - 232 - <react-partial 233 - partial-name="keyboard-shortcuts-dialog" 234 - data-ssr="false" 235 - data-attempted-ssr="false" 236 - data-react-profiling="false" 237 - > 238 - 239 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> 240 - <div data-target="react-partial.reactRoot"></div> 241 - </react-partial> 242 - 243 - 244 - 245 - 246 - 247 - 248 - 249 - 250 - 251 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_gsap_index_js-028cb2a18f5a.js" defer="defer"></script> 252 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9a914372b013.js" defer="defer"></script> 253 - <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-5e9442c22f33.js" defer="defer"></script> 254 - <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> 255 - <h2 class="sr-only">Navigation Menu</h2> 256 - 257 - <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> 258 - <span class="d-none">Toggle navigation</span> 259 - </button> 260 - 261 - <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> 262 - <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> 263 - <div class="flex-1"> 264 - <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> 265 - <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> 266 - <div class="HeaderMenu-toggle-bar rounded my-1"></div> 267 - <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> 268 - </span> 269 - </button> 270 - </div> 271 - 272 - <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" 273 - href="/" 274 - aria-label="Homepage" 275 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> 276 - <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> 277 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 278 - </svg> 279 - </a> 280 - 281 - <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end"> 282 - <a 283 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Frpi.svg" 284 - class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" 285 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d6efff96e59f1eedaabbb7f31b173c58e8d5bc60e1b200de429bb0581909689a" 286 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 287 - > 288 - Sign in 289 - </a> 290 - <div class="AppHeader-appearanceSettings"> 291 - <react-partial-anchor> 292 - <button data-target="react-partial-anchor.anchor" id="icon-button-1629d3e0-90ef-4527-b436-5ed783699eda" aria-labelledby="tooltip-575ca57f-96d9-4a50-849b-9832747ffca2" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 293 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 294 - </svg> 295 - </button><tool-tip id="tooltip-575ca57f-96d9-4a50-849b-9832747ffca2" for="icon-button-1629d3e0-90ef-4527-b436-5ed783699eda" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 296 - 297 - <template data-target="react-partial-anchor.template"> 298 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 299 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 300 - 301 - <react-partial 302 - partial-name="appearance-settings" 303 - data-ssr="false" 304 - data-attempted-ssr="false" 305 - data-react-profiling="false" 306 - > 307 - 308 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 309 - <div data-target="react-partial.reactRoot"></div> 310 - </react-partial> 311 - 312 - </template> 313 - </react-partial-anchor> 314 - </div> 315 - 316 - </div> 317 - </div> 318 - 319 - 320 - <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> 321 - <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> 322 - <nav class="HeaderMenu-nav" aria-label="Global"> 323 - <ul class="d-lg-flex list-style-none"> 324 - 325 - 326 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 327 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 328 - Product 329 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 330 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 331 - </svg> 332 - </button> 333 - 334 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 335 - <div class="HeaderMenu-column pl-lg-4 px-lg-4"> 336 - <div class=""> 337 - 338 - <ul class="list-style-none f5" > 339 - <li> 340 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> 341 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 342 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 343 - </svg> 344 - <div> 345 - <div class="color-fg-default h4"> 346 - GitHub Copilot 347 - </div> 348 - Write better code with AI 349 - </div> 350 - 351 - 352 - </a></li> 353 - 354 - <li> 355 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_spark&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_spark_link_product_navbar&quot;}" href="https://github.com/features/spark"> 356 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-sparkle-fill color-fg-subtle mr-3"> 357 - <path d="M11.296 1.924c.24-.656 1.168-.656 1.408 0l.717 1.958a11.25 11.25 0 0 0 6.697 6.697l1.958.717c.657.24.657 1.168 0 1.408l-1.958.717a11.25 11.25 0 0 0-6.697 6.697l-.717 1.958c-.24.657-1.168.657-1.408 0l-.717-1.958a11.25 11.25 0 0 0-6.697-6.697l-1.958-.717c-.656-.24-.656-1.168 0-1.408l1.958-.717a11.25 11.25 0 0 0 6.697-6.697l.717-1.958Z"></path> 358 - </svg> 359 - <div> 360 - <div class="color-fg-default h4"> 361 - GitHub Spark 362 - <span class="HeaderMenu-label"> 363 - New 364 - </span> 365 - </div> 366 - Build and deploy intelligent apps 367 - </div> 368 - 369 - 370 - </a></li> 371 - 372 - <li> 373 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_models&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_models_link_product_navbar&quot;}" href="https://github.com/features/models"> 374 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-ai-model color-fg-subtle mr-3"> 375 - <path d="M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z"></path> 376 - </svg> 377 - <div> 378 - <div class="color-fg-default h4"> 379 - GitHub Models 380 - <span class="HeaderMenu-label"> 381 - New 382 - </span> 383 - </div> 384 - Manage and compare prompts 385 - </div> 386 - 387 - 388 - </a></li> 389 - 390 - <li> 391 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_product_navbar&quot;}" href="https://github.com/security/advanced-security"> 392 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 393 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 394 - </svg> 395 - <div> 396 - <div class="color-fg-default h4"> 397 - GitHub Advanced Security 398 - </div> 399 - Find and fix vulnerabilities 400 - </div> 401 - 402 - 403 - </a></li> 404 - 405 - <li> 406 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> 407 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> 408 - <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> 409 - </svg> 410 - <div> 411 - <div class="color-fg-default h4"> 412 - Actions 413 - </div> 414 - Automate any workflow 415 - </div> 416 - 417 - 418 - </a></li> 419 - 420 - 421 - </ul> 422 - </div> 423 - </div> 424 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 425 - <div class="border-bottom border-lg-bottom-0 pb-3"> 426 - 427 - <ul class="list-style-none f5" > 428 - <li> 429 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> 430 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> 431 - <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 432 - </svg> 433 - <div> 434 - <div class="color-fg-default h4"> 435 - Codespaces 436 - </div> 437 - Instant dev environments 438 - </div> 439 - 440 - 441 - </a></li> 442 - 443 - <li> 444 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> 445 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> 446 - <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> 447 - </svg> 448 - <div> 449 - <div class="color-fg-default h4"> 450 - Issues 451 - </div> 452 - Plan and track work 453 - </div> 454 - 455 - 456 - </a></li> 457 - 458 - <li> 459 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> 460 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> 461 - <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> 462 - </svg> 463 - <div> 464 - <div class="color-fg-default h4"> 465 - Code Review 466 - </div> 467 - Manage code changes 468 - </div> 469 - 470 - 471 - </a></li> 472 - 473 - <li> 474 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> 475 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 476 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 477 - </svg> 478 - <div> 479 - <div class="color-fg-default h4"> 480 - Discussions 481 - </div> 482 - Collaborate outside of code 483 - </div> 484 - 485 - 486 - </a></li> 487 - 488 - <li> 489 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> 490 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> 491 - <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> 492 - </svg> 493 - <div> 494 - <div class="color-fg-default h4"> 495 - Code Search 496 - </div> 497 - Find more, search less 498 - </div> 499 - 500 - 501 - </a></li> 502 - 503 - </ul> 504 - </div> 505 - </div> 506 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 507 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 508 - <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> 509 - 510 - <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> 511 - <li> 512 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_product_navbar&quot;}" href="https://github.com/why-github"> 513 - Why GitHub 514 - 515 - 516 - </a></li> 517 - 518 - <li> 519 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> 520 - All features 521 - 522 - 523 - </a></li> 524 - 525 - <li> 526 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> 527 - Documentation 528 - 529 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 530 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 531 - </svg> 532 - </a></li> 533 - 534 - <li> 535 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> 536 - GitHub Skills 537 - 538 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 539 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 540 - </svg> 541 - </a></li> 542 - 543 - <li> 544 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> 545 - Blog 546 - 547 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 548 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 549 - </svg> 550 - </a></li> 551 - 552 - </ul> 553 - </div> 554 - </div> 555 - 556 - </div> 557 - </li> 558 - 559 - 560 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 561 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 562 - Solutions 563 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 564 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 565 - </svg> 566 - </button> 567 - 568 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> 569 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 570 - <div class="border-bottom border-lg-bottom-0 mb-3 pb-3"> 571 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> 572 - 573 - <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> 574 - <li> 575 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> 576 - Enterprises 577 - 578 - 579 - </a></li> 580 - 581 - <li> 582 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> 583 - Small and medium teams 584 - 585 - 586 - </a></li> 587 - 588 - <li> 589 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> 590 - Startups 591 - 592 - 593 - </a></li> 594 - 595 - <li> 596 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> 597 - Nonprofits 598 - 599 - 600 - </a></li> 601 - 602 - </ul> 603 - </div> 604 - <div class="border-bottom border-lg-bottom-0 pb-3"> 605 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> 606 - 607 - <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> 608 - <li> 609 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> 610 - DevSecOps 611 - 612 - 613 - </a></li> 614 - 615 - <li> 616 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> 617 - DevOps 618 - 619 - 620 - </a></li> 621 - 622 - <li> 623 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> 624 - CI/CD 625 - 626 - 627 - </a></li> 628 - 629 - <li> 630 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> 631 - View all use cases 632 - 633 - 634 - </a></li> 635 - 636 - </ul> 637 - </div> 638 - </div> 639 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 640 - <div class="border-bottom border-lg-bottom-0 pb-3 pb-lg-0"> 641 - <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> 642 - 643 - <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> 644 - <li> 645 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> 646 - Healthcare 647 - 648 - 649 - </a></li> 650 - 651 - <li> 652 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> 653 - Financial services 654 - 655 - 656 - </a></li> 657 - 658 - <li> 659 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> 660 - Manufacturing 661 - 662 - 663 - </a></li> 664 - 665 - <li> 666 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> 667 - Government 668 - 669 - 670 - </a></li> 671 - 672 - <li> 673 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> 674 - View all industries 675 - 676 - 677 - </a></li> 678 - 679 - </ul> 680 - </div> 681 - </div> 682 - 683 - <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> 684 - <a href="/solutions"> 685 - View all solutions 686 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> 687 - <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> 688 - </svg> 689 - </a> </div> 690 - </div> 691 - </li> 692 - 693 - 694 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 695 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 696 - Resources 697 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 698 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 699 - </svg> 700 - </button> 701 - 702 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> 703 - <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0"> 704 - <div class="border-bottom border-lg-bottom-0 pb-3"> 705 - <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> 706 - 707 - <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> 708 - <li> 709 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> 710 - AI 711 - 712 - 713 - </a></li> 714 - 715 - <li> 716 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> 717 - DevOps 718 - 719 - 720 - </a></li> 721 - 722 - <li> 723 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> 724 - Security 725 - 726 - 727 - </a></li> 728 - 729 - <li> 730 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> 731 - Software Development 732 - 733 - 734 - </a></li> 735 - 736 - <li> 737 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> 738 - View all 739 - 740 - 741 - </a></li> 742 - 743 - </ul> 744 - </div> 745 - </div> 746 - <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7"> 747 - <div class="border-bottom border-lg-bottom-0 border-bottom-0"> 748 - <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> 749 - 750 - <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> 751 - <li> 752 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> 753 - Learning Pathways 754 - 755 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 756 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 757 - </svg> 758 - </a></li> 759 - 760 - <li> 761 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> 762 - Events &amp; Webinars 763 - 764 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 765 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 766 - </svg> 767 - </a></li> 768 - 769 - <li> 770 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> 771 - Ebooks &amp; Whitepapers 772 - 773 - 774 - </a></li> 775 - 776 - <li> 777 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> 778 - Customer Stories 779 - 780 - 781 - </a></li> 782 - 783 - <li> 784 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> 785 - Partners 786 - 787 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> 788 - <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> 789 - </svg> 790 - </a></li> 791 - 792 - <li> 793 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> 794 - Executive Insights 795 - 796 - 797 - </a></li> 798 - 799 - </ul> 800 - </div> 801 - </div> 802 - 803 - </div> 804 - </li> 805 - 806 - 807 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 808 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 809 - Open Source 810 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 811 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 812 - </svg> 813 - </button> 814 - 815 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 816 - <div class="HeaderMenu-column px-lg-4"> 817 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 818 - 819 - <ul class="list-style-none f5" > 820 - <li> 821 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> 822 - 823 - <div> 824 - <div class="color-fg-default h4"> 825 - GitHub Sponsors 826 - </div> 827 - Fund open source developers 828 - </div> 829 - 830 - 831 - </a></li> 832 - 833 - </ul> 834 - </div> 835 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 836 - 837 - <ul class="list-style-none f5" > 838 - <li> 839 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> 840 - 841 - <div> 842 - <div class="color-fg-default h4"> 843 - The ReadME Project 844 - </div> 845 - GitHub community articles 846 - </div> 847 - 848 - 849 - </a></li> 850 - 851 - </ul> 852 - </div> 853 - <div class="border-bottom border-bottom-0"> 854 - <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> 855 - 856 - <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> 857 - <li> 858 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> 859 - Topics 860 - 861 - 862 - </a></li> 863 - 864 - <li> 865 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> 866 - Trending 867 - 868 - 869 - </a></li> 870 - 871 - <li> 872 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> 873 - Collections 874 - 875 - 876 - </a></li> 877 - 878 - </ul> 879 - </div> 880 - </div> 881 - 882 - </div> 883 - </li> 884 - 885 - 886 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 887 - <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> 888 - Enterprise 889 - <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> 890 - <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> 891 - </svg> 892 - </button> 893 - 894 - <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4"> 895 - <div class="HeaderMenu-column px-lg-4"> 896 - <div class="border-bottom mb-3 mb-lg-3 pb-3"> 897 - 898 - <ul class="list-style-none f5" > 899 - <li> 900 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> 901 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> 902 - <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> 903 - </svg> 904 - <div> 905 - <div class="color-fg-default h4"> 906 - Enterprise platform 907 - </div> 908 - AI-powered developer platform 909 - </div> 910 - 911 - 912 - </a></li> 913 - 914 - </ul> 915 - </div> 916 - <div class="border-bottom border-bottom-0"> 917 - <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> 918 - 919 - <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> 920 - <li> 921 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security"> 922 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> 923 - <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> 924 - </svg> 925 - <div> 926 - <div class="color-fg-default h4"> 927 - GitHub Advanced Security 928 - </div> 929 - Enterprise-grade security features 930 - </div> 931 - 932 - 933 - </a></li> 934 - 935 - <li> 936 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> 937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> 938 - <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> 939 - </svg> 940 - <div> 941 - <div class="color-fg-default h4"> 942 - Copilot for business 943 - </div> 944 - Enterprise-grade AI features 945 - </div> 946 - 947 - 948 - </a></li> 949 - 950 - <li> 951 - <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> 952 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> 953 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> 954 - </svg> 955 - <div> 956 - <div class="color-fg-default h4"> 957 - Premium Support 958 - </div> 959 - Enterprise-grade 24/7 support 960 - </div> 961 - 962 - 963 - </a></li> 964 - 965 - </ul> 966 - </div> 967 - </div> 968 - 969 - </div> 970 - </li> 971 - 972 - 973 - <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> 974 - <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> 975 - </li> 976 - 977 - </ul> 978 - </nav> 979 - 980 - <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> 981 - 982 - 983 - 984 - <qbsearch-input class="search-input" data-scope="repo:isabelroses/dotfiles" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="qUaIWkdVPpl5gPihfmVQ-B3dRILaMHn5k-zyMNSfTMjMGx6j5vSWa1trIhLMp9Xjb3wPq25rU4pqlbxJ58wbKw" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="isabelroses/dotfiles" data-current-org="" data-current-owner="isabelroses" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> 985 - <div 986 - class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" 987 - data-action="click:qbsearch-input#searchInputContainerClicked" 988 - > 989 - <button 990 - type="button" 991 - class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" 992 - data-target="qbsearch-input.inputButton" 993 - aria-label="Search or jump toโ€ฆ" 994 - aria-haspopup="dialog" 995 - placeholder="Search or jump to..." 996 - data-hotkey=s,/ 997 - autocapitalize="off" 998 - data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" 999 - data-action="click:qbsearch-input#handleExpand" 1000 - > 1001 - <div class="mr-2 color-fg-muted"> 1002 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1003 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1004 - </svg> 1005 - </div> 1006 - <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> 1007 - <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> 1008 - <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> 1009 - </div> 1010 - </button> 1011 - 1012 - <input type="hidden" name="type" class="js-site-search-type-field"> 1013 - 1014 - 1015 - <div class="Overlay--hidden " data-modal-dialog-overlay> 1016 - <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> 1017 - <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> 1018 - <div class="Overlay-body Overlay-body--paddingNone"> 1019 - 1020 - <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" 1021 - style="border-radius: 12px;" 1022 - data-target="qbsearch-input.queryBuilderContainer" 1023 - hidden 1024 - > 1025 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> 1026 - <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> 1027 - <div class="FormControl FormControl--fullWidth"> 1028 - <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> 1029 - Search 1030 - </label> 1031 - <div 1032 - class="QueryBuilder-StyledInput width-fit " 1033 - data-target="query-builder.styledInput" 1034 - > 1035 - <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> 1036 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> 1037 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1038 - </svg> 1039 - </span> 1040 - <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> 1041 - <div 1042 - aria-hidden="true" 1043 - class="QueryBuilder-StyledInputContent" 1044 - data-target="query-builder.styledInputContent" 1045 - ></div> 1046 - <div class="QueryBuilder-InputWrapper"> 1047 - <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> 1048 - <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-61da122b-36d4-4eb0-b486-ac01c03c4889" data-target="query-builder.input" data-action=" 1049 - input:query-builder#inputChange 1050 - blur:query-builder#inputBlur 1051 - keydown:query-builder#inputKeydown 1052 - focus:query-builder#inputFocus 1053 - " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> 1054 - </div> 1055 - </div> 1056 - <span class="sr-only" id="query-builder-test-clear">Clear</span> 1057 - <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" 1058 - click:query-builder#clear 1059 - focus:query-builder#clearButtonFocus 1060 - blur:query-builder#clearButtonBlur 1061 - " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> 1062 - <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> 1063 - </svg> 1064 - </button> 1065 - 1066 - </div> 1067 - <template id="search-icon"> 1068 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> 1069 - <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> 1070 - </svg> 1071 - </template> 1072 - 1073 - <template id="code-icon"> 1074 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1075 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1076 - </svg> 1077 - </template> 1078 - 1079 - <template id="file-code-icon"> 1080 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> 1081 - <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> 1082 - </svg> 1083 - </template> 1084 - 1085 - <template id="history-icon"> 1086 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> 1087 - <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> 1088 - </svg> 1089 - </template> 1090 - 1091 - <template id="repo-icon"> 1092 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> 1093 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1094 - </svg> 1095 - </template> 1096 - 1097 - <template id="bookmark-icon"> 1098 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> 1099 - <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> 1100 - </svg> 1101 - </template> 1102 - 1103 - <template id="plus-circle-icon"> 1104 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> 1105 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> 1106 - </svg> 1107 - </template> 1108 - 1109 - <template id="circle-icon"> 1110 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> 1111 - <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> 1112 - </svg> 1113 - </template> 1114 - 1115 - <template id="trash-icon"> 1116 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> 1117 - <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> 1118 - </svg> 1119 - </template> 1120 - 1121 - <template id="team-icon"> 1122 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> 1123 - <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> 1124 - </svg> 1125 - </template> 1126 - 1127 - <template id="project-icon"> 1128 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> 1129 - <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> 1130 - </svg> 1131 - </template> 1132 - 1133 - <template id="pencil-icon"> 1134 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> 1135 - <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> 1136 - </svg> 1137 - </template> 1138 - 1139 - <template id="copilot-icon"> 1140 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> 1141 - <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> 1142 - </svg> 1143 - </template> 1144 - 1145 - <template id="copilot-error-icon"> 1146 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> 1147 - <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> 1148 - </svg> 1149 - </template> 1150 - 1151 - <template id="workflow-icon"> 1152 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> 1153 - <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> 1154 - </svg> 1155 - </template> 1156 - 1157 - <template id="book-icon"> 1158 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> 1159 - <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> 1160 - </svg> 1161 - </template> 1162 - 1163 - <template id="code-review-icon"> 1164 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> 1165 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> 1166 - </svg> 1167 - </template> 1168 - 1169 - <template id="codespaces-icon"> 1170 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> 1171 - <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> 1172 - </svg> 1173 - </template> 1174 - 1175 - <template id="comment-icon"> 1176 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> 1177 - <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 1178 - </svg> 1179 - </template> 1180 - 1181 - <template id="comment-discussion-icon"> 1182 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> 1183 - <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> 1184 - </svg> 1185 - </template> 1186 - 1187 - <template id="organization-icon"> 1188 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> 1189 - <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1190 - </svg> 1191 - </template> 1192 - 1193 - <template id="rocket-icon"> 1194 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> 1195 - <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1196 - </svg> 1197 - </template> 1198 - 1199 - <template id="shield-check-icon"> 1200 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> 1201 - <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1202 - </svg> 1203 - </template> 1204 - 1205 - <template id="heart-icon"> 1206 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> 1207 - <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> 1208 - </svg> 1209 - </template> 1210 - 1211 - <template id="server-icon"> 1212 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> 1213 - <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> 1214 - </svg> 1215 - </template> 1216 - 1217 - <template id="globe-icon"> 1218 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> 1219 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> 1220 - </svg> 1221 - </template> 1222 - 1223 - <template id="issue-opened-icon"> 1224 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1225 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1226 - </svg> 1227 - </template> 1228 - 1229 - <template id="device-mobile-icon"> 1230 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> 1231 - <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> 1232 - </svg> 1233 - </template> 1234 - 1235 - <template id="package-icon"> 1236 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> 1237 - <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> 1238 - </svg> 1239 - </template> 1240 - 1241 - <template id="credit-card-icon"> 1242 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> 1243 - <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> 1244 - </svg> 1245 - </template> 1246 - 1247 - <template id="play-icon"> 1248 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1249 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1250 - </svg> 1251 - </template> 1252 - 1253 - <template id="gift-icon"> 1254 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> 1255 - <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> 1256 - </svg> 1257 - </template> 1258 - 1259 - <template id="code-square-icon"> 1260 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> 1261 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1262 - </svg> 1263 - </template> 1264 - 1265 - <template id="device-desktop-icon"> 1266 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> 1267 - <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> 1268 - </svg> 1269 - </template> 1270 - 1271 - <div class="position-relative"> 1272 - <ul 1273 - role="listbox" 1274 - class="ActionListWrap QueryBuilder-ListWrap" 1275 - aria-label="Suggestions" 1276 - data-action=" 1277 - combobox-commit:query-builder#comboboxCommit 1278 - mousedown:query-builder#resultsMousedown 1279 - " 1280 - data-target="query-builder.resultsList" 1281 - data-persist-list=false 1282 - id="query-builder-test-results" 1283 - tabindex="-1" 1284 - ></ul> 1285 - </div> 1286 - <div class="FormControl-inlineValidation" id="validation-61da122b-36d4-4eb0-b486-ac01c03c4889" hidden="hidden"> 1287 - <span class="FormControl-inlineValidation--visual"> 1288 - <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> 1289 - <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> 1290 - </svg> 1291 - </span> 1292 - <span></span> 1293 - </div> </div> 1294 - <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> 1295 - </query-builder></form> 1296 - <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> 1297 - <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> 1298 - </div> 1299 - </div> 1300 - </div> 1301 - 1302 - </div> 1303 - </modal-dialog></div> 1304 - </div> 1305 - <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> 1306 - <div class="color-fg-default"> 1307 - 1308 - <dialog-helper> 1309 - <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1310 - <div data-view-component="true" class="Overlay-header"> 1311 - <div class="Overlay-headerContentWrap"> 1312 - <div class="Overlay-titleWrap"> 1313 - <h1 class="Overlay-title " id="feedback-dialog-title"> 1314 - Provide feedback 1315 - </h1> 1316 - 1317 - </div> 1318 - <div class="Overlay-actionWrap"> 1319 - <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1320 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1321 - </svg></button> 1322 - </div> 1323 - </div> 1324 - 1325 - </div> 1326 - <scrollable-region data-labelled-by="feedback-dialog-title"> 1327 - <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="uToP2Ds+z39NgIcWPTtCAy+3uH1i/bPftDs0va0skVtgvSZXUcK0r2cxPoMv7FMoyrAXtR++ufWNs9l4T8V7tw==" /> 1328 - <p>We read every piece of feedback, and take your input very seriously.</p> 1329 - <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> 1330 - <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> 1331 - <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> 1332 - </form></div> 1333 - </scrollable-region> 1334 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel 1335 - </button> 1336 - <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback 1337 - </button> 1338 - </div> 1339 - </dialog></dialog-helper> 1340 - 1341 - <custom-scopes data-target="qbsearch-input.customScopesManager"> 1342 - 1343 - <dialog-helper> 1344 - <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> 1345 - <div data-view-component="true" class="Overlay-header Overlay-header--divided"> 1346 - <div class="Overlay-headerContentWrap"> 1347 - <div class="Overlay-titleWrap"> 1348 - <h1 class="Overlay-title " id="custom-scopes-dialog-title"> 1349 - Saved searches 1350 - </h1> 1351 - <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> 1352 - </div> 1353 - <div class="Overlay-actionWrap"> 1354 - <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1355 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1356 - </svg></button> 1357 - </div> 1358 - </div> 1359 - 1360 - </div> 1361 - <scrollable-region data-labelled-by="custom-scopes-dialog-title"> 1362 - <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1363 - 1364 - <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> 1365 - <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="6m5er2o9meY+eqBIouoE6LFUA8Vg3WU8yKdpYSqG/ft1MY4ofBG6W7umqa47NGSKNFrjXvzMbgORBsjz9Pfmeg==" /> 1366 - <div data-target="custom-scopes.customScopesModalDialogFlash"></div> 1367 - 1368 - <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> 1369 - 1370 - <div class="form-group"> 1371 - <label for="custom_scope_name">Name</label> 1372 - <auto-check src="/search/custom_scopes/check_name" required> 1373 - <input 1374 - type="text" 1375 - name="custom_scope_name" 1376 - id="custom_scope_name" 1377 - data-target="custom-scopes.customScopesNameField" 1378 - class="form-control" 1379 - autocomplete="off" 1380 - placeholder="github-ruby" 1381 - required 1382 - maxlength="50"> 1383 - <input type="hidden" data-csrf="true" value="wDitt0UNNGXdW8osWroU022JZyU6ZJ4/6QsD6u0xnKnvJte9HaYMOhTt0A+e4vPXbaIJKu3bXiwWoLnnfzK8VQ==" /> 1384 - </auto-check> 1385 - </div> 1386 - 1387 - <div class="form-group"> 1388 - <label for="custom_scope_query">Query</label> 1389 - <input 1390 - type="text" 1391 - name="custom_scope_query" 1392 - id="custom_scope_query" 1393 - data-target="custom-scopes.customScopesQueryField" 1394 - class="form-control" 1395 - autocomplete="off" 1396 - placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" 1397 - required 1398 - maxlength="500"> 1399 - </div> 1400 - 1401 - <p class="text-small color-fg-muted"> 1402 - To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. 1403 - </p> 1404 - </form> </div> 1405 - 1406 - <div data-target="custom-scopes.manageCustomScopesForm"> 1407 - <div data-target="custom-scopes.list"></div> 1408 - </div> 1409 - 1410 - </div> 1411 - </scrollable-region> 1412 - <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel 1413 - </button> 1414 - <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search 1415 - </button> 1416 - </div> 1417 - </dialog></dialog-helper> 1418 - </custom-scopes> 1419 - </div> 1420 - </qbsearch-input> 1421 - 1422 - 1423 - <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> 1424 - <a 1425 - href="/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Frpi.svg" 1426 - class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1" 1427 - style="margin-left: 12px;" 1428 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d6efff96e59f1eedaabbb7f31b173c58e8d5bc60e1b200de429bb0581909689a" 1429 - data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" 1430 - > 1431 - Sign in 1432 - </a> 1433 - </div> 1434 - 1435 - <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=isabelroses%2Fdotfiles" 1436 - class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" 1437 - data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d6efff96e59f1eedaabbb7f31b173c58e8d5bc60e1b200de429bb0581909689a" 1438 - data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}" 1439 - > 1440 - Sign up 1441 - </a> 1442 - 1443 - <div class="AppHeader-appearanceSettings"> 1444 - <react-partial-anchor> 1445 - <button data-target="react-partial-anchor.anchor" id="icon-button-f5e7c056-86fd-4734-80b2-937655b65c25" aria-labelledby="tooltip-c22d1503-94c2-4353-88c7-20659f767fdd" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual"> 1446 - <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path> 1447 - </svg> 1448 - </button><tool-tip id="tooltip-c22d1503-94c2-4353-88c7-20659f767fdd" for="icon-button-f5e7c056-86fd-4734-80b2-937655b65c25" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip> 1449 - 1450 - <template data-target="react-partial-anchor.template"> 1451 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.260d30274859410b0337.module.css" /> 1452 - <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.76259b61ecc822265749.module.css" /> 1453 - 1454 - <react-partial 1455 - partial-name="appearance-settings" 1456 - data-ssr="false" 1457 - data-attempted-ssr="false" 1458 - data-react-profiling="false" 1459 - > 1460 - 1461 - <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script> 1462 - <div data-target="react-partial.reactRoot"></div> 1463 - </react-partial> 1464 - 1465 - </template> 1466 - </react-partial-anchor> 1467 - </div> 1468 - 1469 - <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button> 1470 - </div> 1471 - </div> 1472 - </div> 1473 - </div> 1474 - </header> 1475 - 1476 - <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> 1477 - 1478 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 1479 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1480 - </svg> 1481 - <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1482 - <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1483 - <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> 1484 - 1485 - <button id="icon-button-5f1b951e-49e1-4cdd-b63a-8d780ffdfdd0" aria-labelledby="tooltip-63e30fdd-8c3d-4820-95aa-30e2fe641a55" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> 1486 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1487 - </svg> 1488 - </button><tool-tip id="tooltip-63e30fdd-8c3d-4820-95aa-30e2fe641a55" for="icon-button-5f1b951e-49e1-4cdd-b63a-8d780ffdfdd0" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> 1489 - 1490 - 1491 - 1492 - </div> 1493 - </div> 1494 - 1495 - <div id="start-of-content" class="show-on-focus"></div> 1496 - 1497 - 1498 - 1499 - 1500 - 1501 - 1502 - 1503 - 1504 - <div id="js-flash-container" class="flash-container" data-turbo-replace> 1505 - 1506 - 1507 - 1508 - 1509 - <template class="js-flash-template"> 1510 - 1511 - <div class="flash flash-full {{ className }}"> 1512 - <div > 1513 - <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> 1514 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 1515 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 1516 - </svg> 1517 - </button> 1518 - <div aria-atomic="true" role="alert" class="js-flash-alert"> 1519 - 1520 - <div>{{ message }}</div> 1521 - 1522 - </div> 1523 - </div> 1524 - </div> 1525 - </template> 1526 - </div> 1527 - 1528 - 1529 - 1530 - 1531 - 1532 - 1533 - 1534 - 1535 - 1536 - <div 1537 - class="application-main " 1538 - data-commit-hovercards-enabled 1539 - data-discussion-hovercards-enabled 1540 - data-issue-and-pr-hovercards-enabled 1541 - data-project-hovercards-enabled 1542 - > 1543 - <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> 1544 - <main id="js-repo-pjax-container" > 1545 - 1546 - 1547 - 1548 - 1549 - 1550 - 1551 - 1552 - 1553 - 1554 - <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> 1555 - 1556 - <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> 1557 - 1558 - <div class="flex-auto min-width-0 width-fit"> 1559 - 1560 - <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> 1561 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> 1562 - <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> 1563 - </svg> 1564 - 1565 - <span class="author flex-self-stretch" itemprop="author"> 1566 - <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/isabelroses/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/isabelroses"> 1567 - isabelroses 1568 - </a> </span> 1569 - <span class="mx-1 flex-self-stretch color-fg-muted">/</span> 1570 - <strong itemprop="name" class="mr-2 flex-self-stretch"> 1571 - <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/isabelroses/dotfiles">dotfiles</a> 1572 - </strong> 1573 - 1574 - <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> 1575 - </div> 1576 - 1577 - 1578 - </div> 1579 - 1580 - <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> 1581 - <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> 1582 - 1583 - <li> 1584 - <include-fragment src="/isabelroses/dotfiles/sponsor_button" data-nonce="v2:4cbf445c-cf8c-5c3c-0f03-62f35db4675b" data-view-component="true"> 1585 - 1586 - <div data-show-on-forbidden-error hidden> 1587 - <div class="Box"> 1588 - <div class="blankslate-container"> 1589 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1590 - 1591 - 1592 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1593 - </h3> 1594 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1595 - </p> 1596 - 1597 - </div> </div> 1598 - </div> </div> 1599 - </include-fragment> 1600 - </li> 1601 - 1602 - 1603 - 1604 - <li> 1605 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9e4701abfd94421667e9d58a4acce9ef2621bdfc64682fc93f98c39001501067" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> 1606 - <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> 1607 - </svg>Notifications 1608 - </a> <tool-tip id="tooltip-14373070-4a45-4218-8974-9f559c1569a2" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> 1609 - 1610 - </li> 1611 - 1612 - <li> 1613 - <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82c8306760962d5b8ec8eee8db05e9f6aa89c1552900c57b022924e8f5fee629" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> 1614 - <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> 1615 - </svg>Fork 1616 - <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="10" data-view-component="true" class="Counter">10</span> 1617 - </a> 1618 - </li> 1619 - 1620 - <li> 1621 - <div data-view-component="true" class="BtnGroup d-flex"> 1622 - <a href="/login?return_to=%2Fisabelroses%2Fdotfiles" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:592914119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6bfa008976d53a2caf45f5fe0b63ab1280f9692eb32101edde6a437d10720dc9" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> 1623 - <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> 1624 - </svg><span data-view-component="true" class="d-inline"> 1625 - Star 1626 - </span> <span id="repo-stars-counter-star" aria-label="292 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="292" data-view-component="true" class="Counter js-social-count">292</span> 1627 - </a></div> 1628 - </li> 1629 - 1630 - </ul> 1631 - 1632 - </div> 1633 - </div> 1634 - 1635 - <div id="responsive-meta-container" data-turbo-replace> 1636 - </div> 1637 - 1638 - 1639 - <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> 1640 - 1641 - <ul data-view-component="true" class="UnderlineNav-body list-style-none"> 1642 - <li data-view-component="true" class="d-inline-flex"> 1643 - <a id="code-tab" href="/isabelroses/dotfiles" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /isabelroses/dotfiles" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> 1644 - 1645 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> 1646 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1647 - </svg> 1648 - <span data-content="Code">Code</span> 1649 - <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1650 - 1651 - 1652 - 1653 - </a></li> 1654 - <li data-view-component="true" class="d-inline-flex"> 1655 - <a id="issues-tab" href="/isabelroses/dotfiles/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /isabelroses/dotfiles/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1656 - 1657 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> 1658 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1659 - </svg> 1660 - <span data-content="Issues">Issues</span> 1661 - <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1662 - 1663 - 1664 - 1665 - </a></li> 1666 - <li data-view-component="true" class="d-inline-flex"> 1667 - <a id="pull-requests-tab" href="/isabelroses/dotfiles/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /isabelroses/dotfiles/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1668 - 1669 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> 1670 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1671 - </svg> 1672 - <span data-content="Pull requests">Pull requests</span> 1673 - <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="1" data-view-component="true" class="Counter">1</span> 1674 - 1675 - 1676 - 1677 - </a></li> 1678 - <li data-view-component="true" class="d-inline-flex"> 1679 - <a id="actions-tab" href="/isabelroses/dotfiles/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /isabelroses/dotfiles/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1680 - 1681 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> 1682 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1683 - </svg> 1684 - <span data-content="Actions">Actions</span> 1685 - <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1686 - 1687 - 1688 - 1689 - </a></li> 1690 - <li data-view-component="true" class="d-inline-flex"> 1691 - <a id="projects-tab" href="/isabelroses/dotfiles/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /isabelroses/dotfiles/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1692 - 1693 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> 1694 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1695 - </svg> 1696 - <span data-content="Projects">Projects</span> 1697 - <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> 1698 - 1699 - 1700 - 1701 - </a></li> 1702 - <li data-view-component="true" class="d-inline-flex"> 1703 - <a id="security-tab" href="/isabelroses/dotfiles/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /isabelroses/dotfiles/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1704 - 1705 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> 1706 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1707 - </svg> 1708 - <span data-content="Security">Security</span> 1709 - <include-fragment src="/isabelroses/dotfiles/security/overall-count" accept="text/fragment+html" data-nonce="v2:4cbf445c-cf8c-5c3c-0f03-62f35db4675b" data-view-component="true"> 1710 - 1711 - <div data-show-on-forbidden-error hidden> 1712 - <div class="Box"> 1713 - <div class="blankslate-container"> 1714 - <div data-view-component="true" class="blankslate blankslate-spacious color-bg-default rounded-2"> 1715 - 1716 - 1717 - <h3 data-view-component="true" class="blankslate-heading"> Uh oh! 1718 - </h3> 1719 - <p data-view-component="true"> <p class="color-fg-muted my-2 mb-2 ws-normal">There was an error while loading. <a class="Link--inTextBlock" data-turbo="false" href="" aria-label="Please reload this page">Please reload this page</a>.</p> 1720 - </p> 1721 - 1722 - </div> </div> 1723 - </div> </div> 1724 - </include-fragment> 1725 - 1726 - 1727 - </a></li> 1728 - <li data-view-component="true" class="d-inline-flex"> 1729 - <a id="insights-tab" href="/isabelroses/dotfiles/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /isabelroses/dotfiles/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> 1730 - 1731 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> 1732 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1733 - </svg> 1734 - <span data-content="Insights">Insights</span> 1735 - <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> 1736 - 1737 - 1738 - 1739 - </a></li> 1740 - </ul> 1741 - <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> 1742 - <focus-group direction="vertical" mnemonics retain> 1743 - <button id="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-button" popovertarget="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-overlay" aria-controls="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-list" aria-haspopup="true" aria-labelledby="tooltip-9fc8e3b7-7eea-4abe-934e-5992d533231a" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> 1744 - <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> 1745 - </svg> 1746 - </button><tool-tip id="tooltip-9fc8e3b7-7eea-4abe-934e-5992d533231a" for="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> 1747 - 1748 - 1749 - <anchored-position data-target="action-menu.overlay" id="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-overlay" anchor="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> 1750 - <div data-view-component="true" class="Overlay Overlay--size-auto"> 1751 - 1752 - <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> 1753 - <div data-view-component="true"> 1754 - <ul aria-labelledby="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-button" id="action-menu-37d94554-0df9-4cc7-a682-9cc6603cb164-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> 1755 - <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1756 - 1757 - 1758 - <a tabindex="-1" id="item-c7a73ba5-d783-496b-88ed-67ff71ee2b0e" href="/isabelroses/dotfiles" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1759 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1760 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> 1761 - <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> 1762 - </svg> 1763 - </span> 1764 - 1765 - <span data-view-component="true" class="ActionListItem-label"> 1766 - Code 1767 - </span> 1768 - </a> 1769 - 1770 - </li> 1771 - <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1772 - 1773 - 1774 - <a tabindex="-1" id="item-f8378101-605e-4ba3-9b2c-591a5c4ed238" href="/isabelroses/dotfiles/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1775 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1776 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> 1777 - <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> 1778 - </svg> 1779 - </span> 1780 - 1781 - <span data-view-component="true" class="ActionListItem-label"> 1782 - Issues 1783 - </span> 1784 - </a> 1785 - 1786 - </li> 1787 - <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1788 - 1789 - 1790 - <a tabindex="-1" id="item-442a37c4-a32c-44d3-8373-fe738e46ff84" href="/isabelroses/dotfiles/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1791 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1792 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> 1793 - <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> 1794 - </svg> 1795 - </span> 1796 - 1797 - <span data-view-component="true" class="ActionListItem-label"> 1798 - Pull requests 1799 - </span> 1800 - </a> 1801 - 1802 - </li> 1803 - <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1804 - 1805 - 1806 - <a tabindex="-1" id="item-8538d4b7-ad7e-4301-ae42-e87bfe9f1671" href="/isabelroses/dotfiles/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1807 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1808 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> 1809 - <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> 1810 - </svg> 1811 - </span> 1812 - 1813 - <span data-view-component="true" class="ActionListItem-label"> 1814 - Actions 1815 - </span> 1816 - </a> 1817 - 1818 - </li> 1819 - <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1820 - 1821 - 1822 - <a tabindex="-1" id="item-38790bbd-1fcb-4ed6-94cc-7743fca83a2c" href="/isabelroses/dotfiles/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1823 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1824 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> 1825 - <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> 1826 - </svg> 1827 - </span> 1828 - 1829 - <span data-view-component="true" class="ActionListItem-label"> 1830 - Projects 1831 - </span> 1832 - </a> 1833 - 1834 - </li> 1835 - <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1836 - 1837 - 1838 - <a tabindex="-1" id="item-f3051190-8de5-40bf-baa9-bcac3bc24276" href="/isabelroses/dotfiles/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1839 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1840 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> 1841 - <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 1842 - </svg> 1843 - </span> 1844 - 1845 - <span data-view-component="true" class="ActionListItem-label"> 1846 - Security 1847 - </span> 1848 - </a> 1849 - 1850 - </li> 1851 - <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> 1852 - 1853 - 1854 - <a tabindex="-1" id="item-9050c91b-f144-480d-8f9c-4a125d89ab45" href="/isabelroses/dotfiles/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> 1855 - <span class="ActionListItem-visual ActionListItem-visual--leading"> 1856 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> 1857 - <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> 1858 - </svg> 1859 - </span> 1860 - 1861 - <span data-view-component="true" class="ActionListItem-label"> 1862 - Insights 1863 - </span> 1864 - </a> 1865 - 1866 - </li> 1867 - </ul> 1868 - </div></action-list> 1869 - 1870 - 1871 - </div> 1872 - 1873 - </div></anchored-position> </focus-group> 1874 - </action-menu></div> 1875 - </nav> 1876 - 1877 - </div> 1878 - 1879 - 1880 - 1881 - 1882 - 1883 - <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> 1884 - <div id="repo-content-pjax-container" class="repository-content " > 1885 - 1886 - 1887 - 1888 - 1889 - 1890 - 1891 - 1892 - 1893 - 1894 - 1895 - 1896 - 1897 - 1898 - 1899 - 1900 - <react-app 1901 - app-name="react-code-view" 1902 - initial-path="/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg" 1903 - style="display: block; min-height: calc(100vh - 64px);" 1904 - data-attempted-ssr="false" 1905 - data-ssr="false" 1906 - data-lazy="false" 1907 - data-alternate="false" 1908 - data-data-router-enabled="false" 1909 - data-react-profiling="false" 1910 - > 1911 - 1912 - <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"modules/flake/programs/topology/assets":{"items":[{"name":"mac.png","path":"modules/flake/programs/topology/assets/mac.png","contentType":"file"},{"name":"pihole.png","path":"modules/flake/programs/topology/assets/pihole.png","contentType":"file"},{"name":"rpi.svg","path":"modules/flake/programs/topology/assets/rpi.svg","contentType":"file"}],"totalCount":3},"modules/flake/programs/topology":{"items":[{"name":"assets","path":"modules/flake/programs/topology/assets","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/topology/default.nix","contentType":"file"},{"name":"output.nix","path":"modules/flake/programs/topology/output.nix","contentType":"file"}],"totalCount":3},"modules/flake/programs":{"items":[{"name":"topology","path":"modules/flake/programs/topology","contentType":"directory"},{"name":"default.nix","path":"modules/flake/programs/default.nix","contentType":"file"},{"name":"deploy.nix","path":"modules/flake/programs/deploy.nix","contentType":"file"},{"name":"formatter.nix","path":"modules/flake/programs/formatter.nix","contentType":"file"},{"name":"git-hooks.nix","path":"modules/flake/programs/git-hooks.nix","contentType":"file"},{"name":"shell.nix","path":"modules/flake/programs/shell.nix","contentType":"file"}],"totalCount":6},"modules/flake":{"items":[{"name":"checks","path":"modules/flake/checks","contentType":"directory"},{"name":"lib","path":"modules/flake/lib","contentType":"directory"},{"name":"packages","path":"modules/flake/packages","contentType":"directory"},{"name":"programs","path":"modules/flake/programs","contentType":"directory"},{"name":"args.nix","path":"modules/flake/args.nix","contentType":"file"},{"name":"default.nix","path":"modules/flake/default.nix","contentType":"file"},{"name":"modules.nix","path":"modules/flake/modules.nix","contentType":"file"},{"name":"overlays.nix","path":"modules/flake/overlays.nix","contentType":"file"}],"totalCount":8},"modules":{"items":[{"name":"base","path":"modules/base","contentType":"directory"},{"name":"darwin","path":"modules/darwin","contentType":"directory"},{"name":"extra","path":"modules/extra","contentType":"directory"},{"name":"flake","path":"modules/flake","contentType":"directory"},{"name":"home","path":"modules/home","contentType":"directory"},{"name":"iso","path":"modules/iso","contentType":"directory"},{"name":"nixos","path":"modules/nixos","contentType":"directory"},{"name":"profiles","path":"modules/profiles","contentType":"directory"}],"totalCount":8},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"home","path":"home","contentType":"directory"},{"name":"modules","path":"modules","contentType":"directory"},{"name":"secrets","path":"secrets","contentType":"directory"},{"name":"systems","path":"systems","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".envrc","path":".envrc","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"cog.toml","path":"cog.toml","contentType":"file"},{"name":"flake.lock","path":"flake.lock","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"},{"name":"justfile","path":"justfile","contentType":"file"},{"name":"stylua.toml","path":"stylua.toml","contentType":"file"},{"name":"todo.md","path":"todo.md","contentType":"file"}],"totalCount":20}},"fileTreeProcessingTime":7.366694,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":592914119,"defaultBranch":"main","name":"dotfiles","ownerLogin":"isabelroses","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-24T20:02:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/71222764?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8","listCacheKey":"v0:1754186400.0","canEdit":false,"refType":"tree","currentOid":"bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8"},"path":"modules/flake/programs/topology/assets/rpi.svg","currentUser":null,"blob":{"rawLines":["\u003csvg width=\"1957\" height=\"2500\" viewBox=\"0 0 256 327\" xmlns=\"http://www.w3.org/2000/svg\" preserveAspectRatio=\"xMinYMin meet\"\u003e\u003cpath d=\"M69.298.005c-1.653.051-3.433.662-5.453 2.255C58.9.353 54.102-.31 49.813 3.573c-6.623-.859-8.775.914-10.406 2.984-1.454-.03-10.879-1.495-15.202 4.953C13.343 10.225 9.91 17.899 13.8 25.056c-2.219 3.434-4.518 6.827.67 13.375-1.835 3.646-.697 7.602 3.626 12.389-1.14 5.127 1.102 8.743 5.125 11.562-.753 7.015 6.433 11.094 8.578 12.547.824 4.087 2.541 7.945 10.748 10.077 1.354 6.092 6.286 7.144 11.063 8.422-15.787 9.177-29.325 21.25-29.233 50.875l-2.313 4.125c-18.102 11.008-34.388 46.39-8.92 75.148 1.663 9.002 4.453 15.468 6.937 22.624 3.715 28.836 27.962 42.339 34.358 43.936 9.371 7.138 19.352 13.911 32.86 18.656 12.731 13.131 26.525 18.136 40.394 18.128.204 0 28.277-4.996 41.01-18.128 13.506-4.745 23.487-11.518 32.86-18.656 6.394-1.597 30.641-15.1 34.356-43.936 2.484-7.156 5.274-13.622 6.938-22.624 25.466-28.761 9.181-64.144-8.92-75.152l-2.317-4.125c.092-29.622-13.446-41.696-29.233-50.875 4.776-1.278 9.71-2.33 11.062-8.422 8.207-2.133 9.925-5.99 10.748-10.077 2.146-1.453 9.331-5.532 8.58-12.547 4.021-2.819 6.264-6.436 5.123-11.562 4.324-4.787 5.461-8.743 3.626-12.39 5.19-6.544 2.887-9.937.671-13.371 3.888-7.157.457-14.832-10.409-13.546-4.32-6.448-13.744-4.984-15.202-4.954-1.63-2.069-3.782-3.842-10.405-2.983-4.289-3.883-9.085-3.221-14.032-1.313-5.874-4.635-9.76-.92-14.2.485-7.112-2.324-8.739.859-12.233 2.156-7.756-1.639-10.113 1.929-13.83 5.695l-4.326-.086c-11.698 6.894-17.51 20.932-19.57 28.149-2.06-7.218-7.859-21.256-19.555-28.149l-4.325.086c-3.723-3.766-6.079-7.334-13.835-5.695C86.78 3.603 85.16.42 78.042 2.744c-2.914-.922-5.594-2.838-8.749-2.74L-11 141\"/\u003e\u003cpath d=\"M46.008 30.334c31.036 16.001 49.079 28.945 58.964 39.969-5.062 20.289-31.47 21.215-41.126 20.646 1.977-.92 3.627-2.023 4.212-3.716-2.423-1.722-11.014-.182-17.012-3.551 2.304-.478 3.382-.943 4.459-2.643-5.666-1.807-11.77-3.365-15.36-6.359 1.937.024 3.746.434 6.276-1.321-5.075-2.735-10.491-4.903-14.699-9.084 2.624-.064 5.453-.026 6.276-.991-4.645-2.878-8.565-6.078-11.809-9.579 3.672.443 5.223.062 6.111-.578-3.512-3.597-7.956-6.634-10.075-11.066 2.726.94 5.221 1.3 7.019-.082-1.193-2.692-6.305-4.28-9.249-10.571 2.871.279 5.915.626 6.524 0-1.332-5.428-3.618-8.48-5.86-11.642 6.143-.091 15.451.024 15.03-.495L31.89 15.39c6.001-1.616 12.141.259 16.599 1.651 2.001-1.579-.036-3.576-2.478-5.615 5.1.681 9.708 1.853 13.874 3.468 2.225-2.009-1.445-4.019-3.221-6.028 7.879 1.494 11.217 3.595 14.534 5.698 2.407-2.307.138-4.268-1.486-6.276 5.941 2.2 9.001 5.041 12.222 7.845 1.092-1.474 2.775-2.555.743-6.111 4.218 2.431 7.395 5.296 9.745 8.506 2.61-1.662 1.555-3.934 1.569-6.029 4.384 3.566 7.166 7.361 10.571 11.066.686-.5 1.286-2.193 1.817-4.872 10.457 10.145 25.234 35.7 3.798 45.832-18.243-15.046-40.031-25.983-64.176-34.187l.007-.004M210.686 30.334c-31.032 16.003-49.075 28.943-58.959 39.969 5.062 20.289 31.469 21.215 41.125 20.646-1.977-.92-3.627-2.023-4.211-3.716 2.423-1.722 11.014-.182 17.011-3.551-2.304-.478-3.381-.943-4.459-2.643 5.667-1.807 11.771-3.365 15.36-6.359-1.937.024-3.746.434-6.276-1.321 5.076-2.735 10.492-4.903 14.7-9.084-2.625-.064-5.454-.026-6.276-.991 4.645-2.878 8.565-6.078 11.809-9.579-3.673.443-5.223.062-6.111-.578 3.511-3.597 7.956-6.634 10.075-11.066-2.727.94-5.222 1.3-7.02-.082 1.193-2.692 6.306-4.28 9.249-10.571-2.87.279-5.915.626-6.524 0 1.335-5.43 3.621-8.482 5.863-11.644-6.143-.091-15.451.024-15.03-.495l3.799-3.882c-6.001-1.615-12.141.26-16.599 1.652-2.001-1.579.035-3.576 2.477-5.615-5.099.68-9.708 1.853-13.873 3.468-2.226-2.009 1.445-4.019 3.221-6.028-7.879 1.494-11.217 3.595-14.535 5.698-2.407-2.307-.137-4.268 1.487-6.276-5.941 2.2-9.001 5.041-12.222 7.845-1.093-1.474-2.775-2.555-.744-6.111-4.217 2.431-7.394 5.296-9.744 8.506-2.61-1.662-1.555-3.935-1.569-6.029-4.384 3.566-7.166 7.36-10.571 11.066-.686-.5-1.286-2.193-1.817-4.873-10.457 10.146-25.234 35.701-3.798 45.833 18.233-15.05 40.02-25.985 64.166-34.189h-.004\" fill=\"#75A928\"/\u003e\u003cpath d=\"M165.933 236.933c.108 18.933-16.449 34.362-36.98 34.461-20.532.1-37.264-15.167-37.372-34.1a21.72 21.72 0 0 1 0-.361c-.108-18.932 16.448-34.361 36.98-34.461 20.532-.1 37.263 15.167 37.372 34.1v.361M107.246 139.004c15.404 10.093 18.181 32.969 6.202 51.095-11.979 18.127-34.177 24.641-49.581 14.549-15.404-10.093-18.18-32.969-6.202-51.095 11.979-18.127 34.177-24.641 49.581-14.549M148.822 137.177c-15.403 10.092-18.18 32.969-6.202 51.095 11.979 18.127 34.177 24.641 49.581 14.548 15.404-10.092 18.181-32.968 6.202-51.095-11.978-18.126-34.176-24.64-49.581-14.548M30.258 155.504c16.631-4.458 5.615 68.803-7.917 62.792-14.885-11.972-19.679-47.033 7.917-62.792M222.453 154.591c-16.633-4.457-5.615 68.807 7.917 62.796 14.885-11.973 19.679-47.038-7.917-62.796M165.946 100.034c28.701-4.846 52.583 12.206 51.619 43.328-.944 11.932-62.193-41.551-51.619-43.328M86.646 99.121c-28.703-4.847-52.583 12.209-51.619 43.329.944 11.931 62.194-41.552 51.619-43.329M127.874 91.863c-17.13-.446-33.57 12.713-33.61 20.346-.047 9.274 13.544 18.77 33.727 19.011 20.61.147 33.762-7.601 33.828-17.172.076-10.844-18.745-22.353-33.945-22.186v.001M128.92 282.043c14.935-.652 34.975 4.81 35.015 12.057.248 7.036-18.175 22.934-36.005 22.627-18.466.797-36.573-15.126-36.336-20.645-.277-8.092 22.484-14.41 37.326-14.039M73.756 239.098c10.633 12.81 15.481 35.316 6.607 41.951-8.395 5.065-28.782 2.979-43.272-17.838-9.773-17.468-8.514-35.243-1.652-40.465 10.261-6.25 26.115 2.193 38.318 16.352h-.001M181.956 235.037c-11.505 13.475-17.911 38.053-9.519 45.969 8.025 6.15 29.567 5.29 45.479-16.789 11.554-14.829 7.683-39.594 1.083-46.17-9.804-7.583-23.879 2.122-37.043 16.986v.004\" fill=\"#BC1142\"/\u003e\u003c/svg\u003e"],"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/isabelroses/dotfiles/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"rpi.svg","displayUrl":"https://viewscreen.githubusercontent.com/view/svg?browser=unknown_browser\u0026bypass_fastly=true\u0026color_mode=auto\u0026commit=bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8\u0026device=unknown_device\u0026docs_host=https%3A%2F%2Fdocs.github.com\u0026enc_url=68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f69736162656c726f7365732f646f7466696c65732f626239633862313066306434363765326466313137353135613530393162336337626366633863382f6d6f64756c65732f666c616b652f70726f6772616d732f746f706f6c6f67792f6173736574732f7270692e737667\u0026logged_in=false\u0026nwo=isabelroses%2Fdotfiles\u0026path=modules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Frpi.svg\u0026platform=unknown_platform\u0026repository_id=592914119\u0026repository_type=Repository\u0026version=0","headerInfo":{"blobSize":"5.54 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"cad8033","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fisabelroses%2Fdotfiles%2Fblob%2Fbb9c8b10f0d467e2df117515a5091b3c7bcfc8c8%2Fmodules%2Fflake%2Fprograms%2Ftopology%2Fassets%2Frpi.svg","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"1","truncatedSloc":"1"},"mode":"executable file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"SVG","languageID":337,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/isabelroses/dotfiles/blob/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/isabelroses/dotfiles/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/isabelroses/dotfiles/raw/bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8/modules/flake/programs/topology/assets/rpi.svg","renderImageOrRaw":false,"richText":null,"renderedFileInfo":{"identityUUID":"25069327-59c3-417b-8850-687c4677a4e9","renderFileType":"svg","size":5674},"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/isabelroses/.github/blob/ba128475ef03d4555895a17f0f870df04d2596d1/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":true,"symbols":[]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true,"csrf_tokens":{"/isabelroses/dotfiles/branches":{"post":"HxjVNdUyFHK_5VZgkLGPHXNwiAt_GR6O2NTygxts7NcO4eowCJDjdTF1oUqpQkxdNRlogn_5XI0n7Fqye3leVg"},"/repos/preferences":{"post":"BK1a57tMyK6yZhOWUVfplFY_-0KOPDbbs3PUZASA86MVcEVAcODpnHR1K5I78DA8_iDpVoug-c2v62aZ8Ow1aw"}}},"title":"dotfiles/modules/flake/programs/topology/assets/rpi.svg at bb9c8b10f0d467e2df117515a5091b3c7bcfc8c8 ยท isabelroses/dotfiles","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-0b6f8702959e.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}</script> 1913 - <div data-target="react-app.reactRoot"></div> 1914 - </react-app> 1915 - </turbo-frame> 1916 - 1917 - 1918 - 1919 - </div> 1920 - 1921 - </turbo-frame> 1922 - 1923 - </main> 1924 - </div> 1925 - 1926 - </div> 1927 - 1928 - <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > 1929 - <h2 class='sr-only'>Footer</h2> 1930 - 1931 - 1932 - 1933 - 1934 - <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> 1935 - <div class="d-flex flex-items-center flex-shrink-0 mx-2"> 1936 - <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com"> 1937 - <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> 1938 - <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path> 1939 - </svg> 1940 - </a> 1941 - <span> 1942 - &copy; 2025 GitHub,&nbsp;Inc. 1943 - </span> 1944 - </div> 1945 - 1946 - <nav aria-label="Footer"> 1947 - <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> 1948 - 1949 - <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> 1950 - 1951 - <li class="mx-2"> 1952 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> 1953 - </li> 1954 - 1955 - <li class="mx-2"> 1956 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> 1957 - </li> 1958 - 1959 - <li class="mx-2"> 1960 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> 1961 - </li> 1962 - 1963 - <li class="mx-2"> 1964 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> 1965 - </li> 1966 - 1967 - <li class="mx-2"> 1968 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> 1969 - </li> 1970 - 1971 - <li class="mx-2"> 1972 - <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> 1973 - </li> 1974 - 1975 - <li class="mx-2" > 1976 - <cookie-consent-link> 1977 - <button 1978 - type="button" 1979 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" 1980 - data-action="click:cookie-consent-link#showConsentManagement" 1981 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" 1982 - > 1983 - Manage cookies 1984 - </button> 1985 - </cookie-consent-link> 1986 - </li> 1987 - 1988 - <li class="mx-2"> 1989 - <cookie-consent-link> 1990 - <button 1991 - type="button" 1992 - class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left" 1993 - data-action="click:cookie-consent-link#showConsentManagement" 1994 - data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" 1995 - > 1996 - Do not share my personal information 1997 - </button> 1998 - </cookie-consent-link> 1999 - </li> 2000 - 2001 - </ul> 2002 - </nav> 2003 - </div> 2004 - </footer> 2005 - 2006 - 2007 - 2008 - <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" 2009 - data-locale="en" 2010 - data-initial-cookie-consent-allowed="" 2011 - data-cookie-consent-required="true" 2012 - ></ghcc-consent> 2013 - 2014 - 2015 - 2016 - <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> 2017 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> 2018 - <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> 2019 - </svg> 2020 - <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> 2021 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2022 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2023 - </svg> 2024 - </button> 2025 - You canโ€™t perform that action at this time. 2026 - </div> 2027 - 2028 - <template id="site-details-dialog"> 2029 - <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> 2030 - <summary role="button" aria-label="Close dialog"></summary> 2031 - <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> 2032 - <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> 2033 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> 2034 - <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> 2035 - </svg> 2036 - </button> 2037 - <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> 2038 - </details-dialog> 2039 - </details> 2040 - </template> 2041 - 2042 - <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> 2043 - <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> 2044 - </div> 2045 - </div> 2046 - 2047 - <template id="snippet-clipboard-copy-button"> 2048 - <div class="zeroclipboard-container position-absolute right-0 top-0"> 2049 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2050 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> 2051 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2052 - </svg> 2053 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> 2054 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2055 - </svg> 2056 - </clipboard-copy> 2057 - </div> 2058 - </template> 2059 - <template id="snippet-clipboard-copy-button-unpositioned"> 2060 - <div class="zeroclipboard-container"> 2061 - <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> 2062 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> 2063 - <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> 2064 - </svg> 2065 - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> 2066 - <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> 2067 - </svg> 2068 - </clipboard-copy> 2069 - </div> 2070 - </template> 2071 - 2072 - 2073 - 2074 - 2075 - </div> 2076 - <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> 2077 - <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> 2078 - </body> 2079 - </html> 2080 -
···
-9
modules/flake/programs/topology/default.nix
··· 1 - { inputs, ... }: 2 - { 3 - imports = [ inputs.nix-topology.flakeModule ]; 4 - 5 - # nix build .#topology.x86_64-linux.config.output 6 - # nix shell nixpkgs#librsvg 7 - # rsvg-convert -o docs/src/images/topology.webp ./result/main.svg 8 - perSystem.topology.modules = [ ./output.nix ]; 9 - }
···
-163
modules/flake/programs/topology/output.nix
··· 1 - { config, ... }: 2 - let 3 - inherit (config.lib.topology) 4 - mkInternet 5 - mkDevice 6 - mkRouter 7 - mkConnection 8 - ; 9 - in 10 - { 11 - nodes = { 12 - internet = mkInternet { 13 - connections = [ 14 - (mkConnection "minerva" "eth0") 15 - (mkConnection "skadi" "eth0") 16 - (mkConnection "router" "eth0") 17 - 18 - (mkConnection "upcloud" "eth0") 19 - ]; 20 - }; 21 - 22 - intranet = 23 - mkInternet { 24 - connections = map (device: mkConnection device "tailscale0") [ 25 - "amaterasu" 26 - "athena" 27 - "tatsumaki" 28 - "minerva" 29 - "skadi" 30 - "isis" 31 - "aphrodite" 32 - "hephaestus" 33 - ]; 34 - } 35 - // { 36 - name = "Intranet"; 37 - }; 38 - 39 - # my homes router router 40 - router = mkRouter "bingus" { 41 - info = "BT Home Hub 5"; 42 - 43 - interfaceGroups = [ 44 - [ "eth0" ] 45 - [ 46 - "eth1" 47 - "eth2" 48 - "eth3" 49 - ] 50 - [ "wlan0" ] 51 - ]; 52 - 53 - interfaces = { 54 - eth1.network = "LAN"; 55 - wlan0.network = "WLAN"; 56 - }; 57 - 58 - connections = { 59 - eth1 = mkConnection "amaterasu" "eth0"; 60 - wlan0 = [ 61 - (mkConnection "athena" "wlan0") 62 - (mkConnection "amaterasu" "wlan0") 63 - (mkConnection "tatsumaki" "wlan0") 64 - ]; 65 - }; 66 - }; 67 - 68 - upcloud = mkRouter "upcloud" { 69 - info = "upcloud"; 70 - 71 - interfaceGroups = [ 72 - [ "eth0" ] 73 - [ 74 - "eth1" 75 - "eth2" 76 - "eth3" 77 - ] 78 - ]; 79 - 80 - interfaces = { 81 - eth1.network = "upcloud"; 82 - }; 83 - 84 - connections = { 85 - eth1 = mkConnection "aphrodite" "eth0"; 86 - eth2 = mkConnection "hephaestus" "eth0"; 87 - eth3 = mkConnection "isis" "eth0"; 88 - }; 89 - }; 90 - 91 - # extra settings for devices that are collected by nix-topology, hostname sorted 92 - # 93 - # keep-sorted start block=yes newline_separated=yes 94 - amaterasu = { 95 - hardware.info = "A powerful desktop dual booting windows 11"; 96 - 97 - interfaces = { 98 - eth0 = { }; 99 - wlan0 = { }; 100 - }; 101 - }; 102 - 103 - tatsumaki = mkDevice "tatsumaki" { 104 - info = "A MacBook Air"; 105 - deviceIcon = ./assets/mac.png; 106 - interfaces = { 107 - wlan0 = { }; 108 - tailscale0 = { }; 109 - }; 110 - }; 111 - 112 - athena = { 113 - hardware.info = "My oldest laptop, altogh this flake still supports it, its barely in use"; 114 - interfaces.wlan0 = { }; 115 - }; 116 - 117 - minerva.hardware.info = "This is the orginal server, hosting most of my personal services"; 118 - 119 - skadi = { 120 - hardware.info = "Oracle free server, mostly used for the pds and aarch64 builds"; 121 - interfaces.eth0 = { }; 122 - }; 123 - 124 - isis = { 125 - hardware.info = "Minimal server for monitoring tgirl.cloud services"; 126 - interfaces.eth0 = { }; 127 - }; 128 - 129 - aphrodite = { 130 - hardware.info = "The host dealing with the cache distribuion for tgirl.cloud"; 131 - interfaces.eth0 = { }; 132 - }; 133 - 134 - hephaestus = { 135 - hardware.info = "The main machine hosting tgirl.cloud services"; 136 - interfaces.eth0 = { }; 137 - }; 138 - 139 - valkyrie = { 140 - hardware.info = "A WSL2 instance, on amaterasu"; 141 - guestType = "wsl"; 142 - parent = "amaterasu"; 143 - }; 144 - # keep-sorted end 145 - }; 146 - 147 - networks = { 148 - upcloud = { 149 - name = "upcloud"; 150 - cidrv4 = "10.0.0.0/24"; 151 - }; 152 - 153 - LAN = { 154 - name = "LAN"; 155 - cidrv4 = "192.68.1.0/24"; 156 - }; 157 - 158 - WLAN = { 159 - name = "WLAN"; 160 - cidrv4 = "192.68.2.0/24"; 161 - }; 162 - }; 163 - }
···
-1
modules/nixos/default.nix
··· 19 ./security 20 ./services 21 ./system 22 - ./topology.nix 23 ./users 24 # keep-sorted end 25 ];
··· 19 ./security 20 ./services 21 ./system 22 ./users 23 # keep-sorted end 24 ];
+8 -3
modules/nixos/hardware/gpu/nvidia.nix
··· 14 config = mkIf (device.gpu == "nvidia") { 15 services.xserver.videoDrivers = [ "nvidia" ]; 16 17 - # Enables the Nvidia's experimental framebuffer device 18 - # fix for the imaginary monitor that does not exist 19 - boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; 20 21 environment.sessionVariables = { 22 LIBVA_DRIVER_NAME = "nvidia";
··· 14 config = mkIf (device.gpu == "nvidia") { 15 services.xserver.videoDrivers = [ "nvidia" ]; 16 17 + boot = { 18 + # Enables the Nvidia's experimental framebuffer device 19 + # fix for the imaginary monitor that does not exist 20 + kernelParams = [ "nvidia_drm.fbdev=1" ]; 21 + 22 + # i don't care for the HDMI nvidia stuff 23 + blacklistedKernelModules = [ "snd_hda_codec_hdmi" ]; 24 + }; 25 26 environment.sessionVariables = { 27 LIBVA_DRIVER_NAME = "nvidia";
+9 -2
modules/nixos/kernel/sysctl.nix
··· 9 # https://sysctl-explorer.net/ 10 # 11 # we disable sysctl tweaks on wsl since they don't work 12 - { lib, options, ... }: 13 { 14 boot.kernel.sysctl = lib.mkIf (!(options ? "wsl")) { 15 # The Magic SysRq key is a key combo that allows users connected to the ··· 25 "kernel.kptr_restrict" = 2; 26 27 # Disable bpf() JIT (to eliminate spray attacks) 28 - "net.core.bpf_jit_enable" = false; 29 30 # Disable ftrace debugging 31 "kernel.ftrace_enabled" = false;
··· 9 # https://sysctl-explorer.net/ 10 # 11 # we disable sysctl tweaks on wsl since they don't work 12 + { 13 + lib, 14 + config, 15 + options, 16 + ... 17 + }: 18 { 19 boot.kernel.sysctl = lib.mkIf (!(options ? "wsl")) { 20 # The Magic SysRq key is a key combo that allows users connected to the ··· 30 "kernel.kptr_restrict" = 2; 31 32 # Disable bpf() JIT (to eliminate spray attacks) 33 + # if we decide to use the scx scheduler, we cannot disable bpf_jit 34 + # <https://github.com/isabelroses/dotfiles/issues/591> 35 + "net.core.bpf_jit_enable" = config.services.scx.enable; 36 37 # Disable ftrace debugging 38 "kernel.ftrace_enabled" = false;
-1
modules/nixos/networking/fail2ban.nix
··· 7 { 8 services.fail2ban = { 9 enable = true; 10 - banaction = "iptables-multiport[blocktype=DROP]"; 11 maxretry = 7; 12 ignoreIP = [ 13 "127.0.0.0/8"
··· 7 { 8 services.fail2ban = { 9 enable = true; 10 maxretry = 7; 11 ignoreIP = [ 12 "127.0.0.0/8"
+1 -4
modules/nixos/networking/openssh.nix
··· 29 AuthenticationMethods = "publickey"; 30 PubkeyAuthentication = "yes"; 31 ChallengeResponseAuthentication = "no"; 32 - 33 - # forgejo! 34 - UsePAM = true; 35 - 36 UseDns = false; 37 X11Forwarding = false; 38
··· 29 AuthenticationMethods = "publickey"; 30 PubkeyAuthentication = "yes"; 31 ChallengeResponseAuthentication = "no"; 32 + UsePAM = false; 33 UseDns = false; 34 X11Forwarding = false; 35
+16 -49
modules/nixos/nix.nix
··· 1 { 2 - lib, 3 - config, 4 - options, 5 - modulesPath, 6 - ... 7 - }: 8 - let 9 - lixModuleMerged = lib.pathExists "${modulesPath}/programs/lix.nix"; 10 - nixDaemonCfg = config.systemd.services.nix-daemon; 11 - in 12 - { 13 - config = lib.mkMerge [ 14 - { 15 - nix = { 16 - # set the nix store to clean every Monday at 3am 17 - gc.dates = "Mon *-*-* 03:00"; 18 19 - # automatically optimize /nix/store by removing hard links 20 - optimise = { 21 - automatic = true; 22 - dates = [ "04:00" ]; 23 - }; 24 25 - # Make builds run with a low priority, keeping the system fast 26 - # daemonCPUSchedPolicy = "idle"; 27 - # daemonIOSchedClass = "idle"; 28 - # daemonIOSchedPriority = 7; 29 30 - # set the build dir to /var/tmp to avoid issues on tmpfs 31 - # https://github.com/NixOS/nixpkgs/issues/293114#issuecomment-2663470083 32 - settings.build-dir = "/var/tmp"; 33 - }; 34 - } 35 - 36 - # https://github.com/NixOS/nixpkgs/pull/469067 37 - (lib.mkIf (!lixModuleMerged) { 38 - systemd.services."nix-daemon@" = { 39 - path = lib.subtractLists (options.systemd.services.type.getSubOptions "").path.value nixDaemonCfg.path; 40 - environment = lib.filterAttrs (n: _v: n != "PATH") nixDaemonCfg.environment; 41 - inherit (nixDaemonCfg) serviceConfig unitConfig; 42 - stopIfChanged = false; 43 - restartIfChanged = false; 44 - }; 45 - 46 - # stc can't restart socket units. it can only reload them, but reloading sockets is in invalid operation! 47 - systemd.services.lix-daemon-socket-permissions = { 48 - overrideStrategy = "asDropin"; 49 - inherit (nixDaemonCfg) restartTriggers; 50 - stopIfChanged = false; 51 - }; 52 - }) 53 - ]; 54 }
··· 1 { 2 + nix = { 3 + # set the nix store to clean every Monday at 3am 4 + gc.dates = "Mon *-*-* 03:00"; 5 6 + # automatically optimize /nix/store by removing hard links 7 + optimise = { 8 + automatic = true; 9 + dates = [ "04:00" ]; 10 + }; 11 12 + # Make builds run with a low priority, keeping the system fast 13 + # daemonCPUSchedPolicy = "idle"; 14 + # daemonIOSchedClass = "idle"; 15 + # daemonIOSchedPriority = 7; 16 17 + # set the build dir to /var/tmp to avoid issues on tmpfs 18 + # https://github.com/NixOS/nixpkgs/issues/293114#issuecomment-2663470083 19 + settings.build-dir = "/var/tmp"; 20 + }; 21 }
+1 -1
modules/nixos/services/akkoma/default.nix
··· 29 30 "favicon.png" = pkgs.fetchurl { 31 url = "https://gravatar.com/avatar/c487c810e09878b4bd90df713a7c9523?size=512"; 32 - hash = "sha256-LRDHPMkJmtkjA/Bd0fpMm5dLf4nhNSIXAAOG8u2ZSqs="; 33 }; 34 35 "emoji/blobs" = pkgs.blobs_gg;
··· 29 30 "favicon.png" = pkgs.fetchurl { 31 url = "https://gravatar.com/avatar/c487c810e09878b4bd90df713a7c9523?size=512"; 32 + hash = "sha256-oLei1sosiYNooPWE41MTemUE4wE7VdehouDdqliBSzk="; 33 }; 34 35 "emoji/blobs" = pkgs.blobs_gg;
+18 -29
modules/nixos/services/arr.nix
··· 55 56 users.groups.media = { }; 57 58 - systemd.tmpfiles.settings = { 59 - "media-content-dirs" = 60 - genAttrs 61 - [ 62 - "${cfg.mediaDir}/content" 63 - "${cfg.mediaDir}/content/tv" 64 - "${cfg.mediaDir}/content/movies" 65 - "${cfg.mediaDir}/content/home" 66 - ] 67 - (_: { 68 - d = { 69 - mode = "0775"; 70 - user = cfg.mediaOwner; 71 - group = cfg.mediaGroup; 72 - }; 73 - }); 74 75 - "media-downloads-dirs" = 76 - genAttrs 77 - [ 78 - "${cfg.mediaDir}/downloads" 79 - ] 80 - (_: { 81 - d = { 82 - mode = "0755"; 83 - user = "qbittorrent"; 84 - group = "media"; 85 - }; 86 - }); 87 - }; 88 }; 89 }
··· 55 56 users.groups.media = { }; 57 58 + systemd.tmpfiles.settings."media-content-dirs" = 59 + genAttrs 60 + [ 61 + "${cfg.mediaDir}/content" 62 + "${cfg.mediaDir}/content/tv" 63 + "${cfg.mediaDir}/content/movies" 64 + "${cfg.mediaDir}/content/home" 65 66 + "${cfg.mediaDir}/downloads" 67 + "${cfg.mediaDir}/downloads/tv" 68 + "${cfg.mediaDir}/downloads/movies" 69 + ] 70 + (_: { 71 + d = { 72 + mode = "0775"; 73 + user = cfg.mediaOwner; 74 + group = cfg.mediaGroup; 75 + }; 76 + }); 77 }; 78 }
+2
modules/nixos/services/cloudflared.nix
··· 1 { 2 lib, 3 self,
··· 1 + # stop forgetting how to do this smh 2 + # <https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/do-more-with-tunnels/local-management/create-local-tunnel/> 3 { 4 lib, 5 self,
+2
modules/nixos/services/default.nix
··· 10 ./borgbackup.nix 11 ./cloudflared.nix 12 ./forgejo.nix 13 ./immich.nix 14 ./jellyfin.nix 15 ./kanidm.nix
··· 10 ./borgbackup.nix 11 ./cloudflared.nix 12 ./forgejo.nix 13 + ./glance 14 + ./hostling.nix 15 ./immich.nix 16 ./jellyfin.nix 17 ./kanidm.nix
+2
modules/nixos/services/forgejo.nix
··· 165 }; 166 }; 167 168 postgresql = { 169 ensureDatabases = [ "forgejo" ]; 170 ensureUsers = lib.singleton {
··· 165 }; 166 }; 167 168 + openssh.settings.UsePAM = mkForce true; 169 + 170 postgresql = { 171 ensureDatabases = [ "forgejo" ]; 172 ensureUsers = lib.singleton {
+85
modules/nixos/services/glance/default.nix
···
··· 1 + { 2 + lib, 3 + self, 4 + config, 5 + ... 6 + }: 7 + let 8 + cfg = config.garden.services.glance; 9 + rdomain = config.networking.domain; 10 + 11 + inherit (lib) mkIf flip; 12 + inherit (self.lib) mkServiceOption mkSecret; 13 + glanceLib = import ./lib.nix lib; 14 + 15 + srv = config.garden.services; 16 + in 17 + { 18 + options.garden.services.glance = mkServiceOption "glance" { 19 + port = 3028; 20 + host = "0.0.0.0"; 21 + domain = "dash.${rdomain}"; 22 + }; 23 + 24 + config = mkIf cfg.enable { 25 + sops.secrets = { 26 + glance-key = mkSecret { 27 + file = "glance"; 28 + key = "secret-key"; 29 + }; 30 + 31 + glance-isabel-pass = mkSecret { 32 + file = "glance"; 33 + key = "isabel-password"; 34 + }; 35 + 36 + glance-env = mkSecret { 37 + file = "glance"; 38 + key = "env"; 39 + }; 40 + }; 41 + 42 + services = { 43 + glance = { 44 + enable = true; 45 + environmentFile = config.sops.secrets.glance-env.path; 46 + 47 + settings = { 48 + auth = { 49 + secret-key = { 50 + _secret = config.sops.secrets.glance-key.path; 51 + }; 52 + users.isabel.password = { 53 + _secret = config.sops.secrets.glance-isabel-pass.path; 54 + }; 55 + }; 56 + 57 + server = { 58 + proxied = true; 59 + inherit (cfg) port host; 60 + }; 61 + 62 + theme = { 63 + background-color = "240 21 15"; 64 + contrast-multiplier = 1.2; 65 + primary-color = "217 92 83"; 66 + positive-color = "115 54 76"; 67 + negative-color = "347 70 65"; 68 + }; 69 + 70 + branding.hide-footer = true; 71 + 72 + pages = map (flip import { inherit lib srv glanceLib; }) [ 73 + ./home.nix 74 + ./news.nix 75 + ./reads.nix 76 + ]; 77 + }; 78 + }; 79 + 80 + cloudflared.tunnels.${config.networking.hostName} = { 81 + ingress.${cfg.domain} = "http://${cfg.host}:${toString cfg.port}"; 82 + }; 83 + }; 84 + }; 85 + }
+61
modules/nixos/services/glance/google-cal-template.html
···
··· 1 + {{ 2 + $token := newRequest "https://oauth2.googleapis.com/token" 3 + | withHeader "Content-Type" "application/x-www-form-urlencoded" 4 + | withStringBody "client_id=${GOOGLE_CLIENT_ID}&client_secret=${GOOGLE_CLIENT_SECRET}&refresh_token=${GOOGLE_REFRESH_TOKEN}&grant_type=refresh_token" 5 + | getResponse 6 + }} 7 + 8 + {{ if ne $token.Response.StatusCode 200 }} 9 + <p>Failed to get token: {{ $token.Response.Status }}</p> 10 + {{ else }} 11 + {{ $accessToken := $token.JSON.String "access_token" }} 12 + {{ $nowtime := now | formatTime "rfc3339" }} 13 + {{ $future := offsetNow "720h" | formatTime "rfc3339" }} 14 + {{ 15 + $events := newRequest "https://www.googleapis.com/calendar/v3/calendars/primary/events" 16 + | withParameter "timeMin" $nowtime 17 + | withParameter "timeMax" $future 18 + | withParameter "singleEvents" "true" 19 + | withParameter "orderBy" "startTime" 20 + | withHeader "Authorization" (print "Bearer " $accessToken) 21 + | getResponse 22 + }} 23 + 24 + {{ if ne $events.Response.StatusCode 200 }} 25 + <p>Failed to fetch events: {{ $events.Response.Status }}</p> 26 + {{ else }} 27 + <div> 28 + {{ range $events.JSON.Array "items" }} 29 + {{ $start := .String "start.dateTime" }} 30 + {{ $end := .String "end.dateTime" }} 31 + {{ $isAllDay := eq $start "" }} 32 + {{ if $isAllDay }} 33 + {{ $start = print (.String "start.date") | parseLocalTime "DateOnly" }} 34 + {{ $end = print (.String "end.date") | parseLocalTime "DateOnly" }} 35 + {{ else }} 36 + {{ $start = $start | parseTime "rfc3339" }} 37 + {{ $end = $end | parseTime "rfc3339" }} 38 + {{ end }} 39 + {{ $startDateOnly := $start | formatTime "DateOnly" }} 40 + {{ $endDateOnly := $end | formatTime "DateOnly" }} 41 + {{ $isStartAndEndDateSame := eq $startDateOnly $endDateOnly }} 42 + 43 + <div style="display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;"> 44 + <a href="https://calendar.google.com/calendar/u/0" target="_blank" class="size-h1" style="text-align: left; width: 215px;"> 45 + {{ .String "summary" }} 46 + </a> 47 + <a href="https://calendar.google.com/calendar/u/0" target="_blank" class="size-h3" style="text-align: left;"> 48 + {{ $start | formatTime "Mon, Jan 2 ยท 3:04โ€ฏPM" }} 49 + {{ if $isStartAndEndDateSame }} 50 + - {{ $end | formatTime "3:04โ€ฏPM" }} 51 + {{ else }} 52 + - {{ $end | formatTime "Mon, Jan 2 ยท 3:04โ€ฏPM" }} 53 + {{ end }} 54 + </a> 55 + <div class="color-primary size-h3" style="text-align: right; width: 75px;" {{ $start | toRelativeTime }}> 56 + </div> 57 + </div> 58 + {{ end }} 59 + </div> 60 + {{ end }} 61 + {{ end }}
+143
modules/nixos/services/glance/home.nix
···
··· 1 + { 2 + lib, 3 + glanceLib, 4 + srv, 5 + ... 6 + }: 7 + let 8 + inherit (lib) singleton; 9 + inherit (glanceLib) mkBookmarks mkKuma mkGoogleCal; 10 + in 11 + { 12 + name = "Home"; 13 + width = "slim"; 14 + 15 + head-widgets = singleton (mkBookmarks [ 16 + [ 17 + { 18 + title = "Jellyfin"; 19 + url = "https://tv.isabelroses.com"; 20 + } 21 + { 22 + title = "Akkoma"; 23 + url = "https://akko.isabelroses.com"; 24 + } 25 + { 26 + title = "ntfy"; 27 + url = "https://ntfy.isabelroses.com"; 28 + } 29 + { 30 + title = "wakapi"; 31 + url = "https://wakapi.isabelroses.com"; 32 + } 33 + ] 34 + [ 35 + { 36 + title = "Forgejo"; 37 + url = "https://git.isabelroses.com"; 38 + } 39 + { 40 + title = "bookmarks"; 41 + url = "https://bookmark.isabelroses.com"; 42 + } 43 + { 44 + title = "vaultwarden"; 45 + url = "https://vault.isabelroses.com"; 46 + } 47 + { 48 + title = "webmail"; 49 + url = "https://webmail.isabelroses.com"; 50 + } 51 + ] 52 + [ 53 + { 54 + title = "Sonarr"; 55 + url = "http://192.168.1.135:${toString srv.sonarr.port}"; 56 + } 57 + { 58 + title = "Radarr"; 59 + url = "http://192.168.1.135:${toString srv.radarr.port}"; 60 + } 61 + { 62 + title = "Prowlarr"; 63 + url = "http://192.168.1.135:${toString srv.prowlarr.port}"; 64 + } 65 + { 66 + title = "Qbittorrent"; 67 + url = "http://192.168.1.135:${toString srv.qbittorrent.port}"; 68 + } 69 + ] 70 + ]); 71 + 72 + columns = [ 73 + { 74 + size = "full"; 75 + widgets = [ 76 + { 77 + type = "weather"; 78 + location = "Aberystwyth, United Kingdom"; 79 + units = "metric"; 80 + hour-format = "12h"; 81 + } 82 + 83 + { 84 + type = "custom-api"; 85 + title = "Mullvad Status"; 86 + cache = "1m"; 87 + url = "https://am.i.mullvad.net/json"; 88 + template = '' 89 + <div> 90 + <div> 91 + <div> 92 + {{ $connected := (.JSON.Bool "mullvad_exit_ip") }} 93 + {{ $ip := (.JSON.String "ip") }} 94 + {{ $city := (.JSON.String "city") }} 95 + {{ $country := (.JSON.String "country") }} 96 + {{ if $connected }} 97 + <div class="color-highlight size-h3"> 98 + Your VPN is connected! 99 + <span class="color-positive">โ—</span> 100 + </div> 101 + {{ else }} 102 + <div class="color-highlight size-h3"> 103 + Your VPN is not connected! 104 + <span class="color-negative">โ—</span> 105 + </div> 106 + {{ end }} 107 + </div> 108 + <div class="size-h5">{{ $ip }} - {{ $city }}, {{ $country }}</div> 109 + </div> 110 + </div> 111 + ''; 112 + } 113 + 114 + (mkKuma "https://status.isabelroses.com" "meow") 115 + (mkKuma "https://status.tgirl.cloud" "infra") 116 + ]; 117 + } 118 + { 119 + size = "full"; 120 + widgets = [ 121 + { 122 + type = "clock"; 123 + hour-format = "12h"; 124 + timezones = [ 125 + { 126 + label = "Local"; 127 + timezone = "Europe/London"; 128 + } 129 + { 130 + label = "Belgium"; 131 + timezone = "Europe/Brussels"; 132 + } 133 + ]; 134 + } 135 + { 136 + type = "calendar"; 137 + first-day-of-week = "monday"; 138 + } 139 + mkGoogleCal 140 + ]; 141 + } 142 + ]; 143 + }
+116
modules/nixos/services/glance/lib.nix
···
··· 1 + lib: 2 + let 3 + inherit (lib) singleton; 4 + 5 + mkPage = name: widgets: { 6 + inherit name; 7 + width = "slim"; 8 + columns = singleton { 9 + size = "full"; 10 + inherit widgets; 11 + }; 12 + }; 13 + 14 + mkFeeds = map urlToFeed; 15 + urlToFeed = url: { 16 + inherit url; 17 + title = lib.head ( 18 + lib.filter ( 19 + x: 20 + lib.isString x 21 + && x != "" 22 + && x != "https:" 23 + && 24 + # special case to remove github.com since its a "aggregated" feed 25 + x != "github.com" 26 + ) (lib.splitString "/" url) 27 + ); 28 + }; 29 + 30 + mkBookmarks = groups: { 31 + type = "bookmarks"; 32 + groups = map (links: { inherit links; }) groups; 33 + }; 34 + 35 + mkKuma = url: slug: { 36 + type = "custom-api"; 37 + title = "Uptime Kumas"; 38 + title-url = url; 39 + url = "${url}/api/status-page/${slug}"; 40 + subrequests.heartbeats.url = "${url}/api/status-page/heartbeat/${slug}"; 41 + cache = "10m"; 42 + template = '' 43 + {{ $hb := .Subrequest "heartbeats" }} 44 + 45 + {{ if not (.JSON.Exists "publicGroupList") }} 46 + <p class="color-negative">Error reading response</p> 47 + {{ else if eq (len (.JSON.Array "publicGroupList")) 0 }} 48 + <p>No monitors found</p> 49 + {{ else }} 50 + 51 + <ul class="dynamic-columns list-gap-8"> 52 + {{ range .JSON.Array "publicGroupList" }} 53 + {{ range .Array "monitorList" }} 54 + {{ $id := .String "id" }} 55 + {{ $hbArray := $hb.JSON.Array (print "heartbeatList." $id) }} 56 + <div class="flex items-center gap-12"> 57 + <a class="size-title-dynamic color-highlight text-truncate block grow" href="${url}/dashboard/{{ $id }}" 58 + target="_blank" rel="noreferrer"> 59 + {{ .String "name" }} </a> 60 + 61 + {{ if gt (len $hbArray) 0 }} 62 + {{ $latest := index $hbArray (sub (len $hbArray) 1) }} 63 + {{ if eq ($latest.Int "status") 1 }} 64 + <div>{{ $latest.Int "ping" }}ms</div> 65 + <div class="monitor-site-status-icon-compact" title="OK"> 66 + <svg fill="var(--color-positive)" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 67 + <path fill-rule="evenodd" 68 + d="M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z" 69 + clip-rule="evenodd"></path> 70 + </svg> 71 + </div> 72 + {{ else }} 73 + <div><span class="color-negative">DOWN</span></div> 74 + <div class="monitor-site-status-icon-compact" title="{{ if $latest.Exists "msg" }}{{ $latest.String "msg" }}{{ else 75 + }}Error{{ end }}"> 76 + <svg fill="var(--color-negative)" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 77 + <path fill-rule="evenodd" 78 + d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495ZM10 5a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 5Zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" 79 + clip-rule="evenodd"></path> 80 + </svg> 81 + </div> 82 + {{ end }} 83 + {{ else }} 84 + <div><span class="color-negative">No data</span></div> 85 + <div class="monitor-site-status-icon-compact" title="No data available"> 86 + <svg fill="var(--color-negative)" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 87 + <path d="M10 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm0-2a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm-.75-8a.75.75 0 0 1 1.5 0v3a.75.75 0 0 1-1.5 0V8zm.75 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/> 88 + </svg> 89 + </div> 90 + {{ end }} 91 + </div> 92 + {{ end }} 93 + {{ end }} 94 + </ul> 95 + {{ end }} 96 + ''; 97 + }; 98 + 99 + # <https://github.com/glanceapp/community-widgets/blob/main/widgets/google-calendar-list/README.md> 100 + mkGoogleCal = { 101 + type = "custom-api"; 102 + title = "Upcoming Google Calendar Events"; 103 + cache = "15m"; 104 + template = builtins.readFile ./google-cal-template.html; 105 + }; 106 + in 107 + { 108 + inherit 109 + mkPage 110 + mkFeeds 111 + mkBookmarks 112 + urlToFeed 113 + mkKuma 114 + mkGoogleCal 115 + ; 116 + }
+43
modules/nixos/services/glance/news.nix
···
··· 1 + { glanceLib, ... }: 2 + let 3 + inherit (glanceLib) mkPage; 4 + in 5 + mkPage "News" [ 6 + { 7 + type = "markets"; 8 + hide-title = true; 9 + markets = [ 10 + { 11 + name = "Bitcoin"; 12 + symbol = "BTC-GBP"; 13 + } 14 + { 15 + name = "Ethereum"; 16 + symbol = "ETH-GBP"; 17 + } 18 + { 19 + name = "Monero"; 20 + symbol = "XMR-GBP"; 21 + } 22 + ]; 23 + } 24 + { 25 + type = "rss"; 26 + title = "News"; 27 + style = "detailed-list"; 28 + feeds = [ 29 + { 30 + name = "Al Jazeera"; 31 + url = "https://www.aljazeera.com/xml/rss/all.xml"; 32 + } 33 + { 34 + name = "BBC News"; 35 + url = "http://feeds.bbci.co.uk/news/rss.xml"; 36 + } 37 + { 38 + name = "The Guardian"; 39 + url = "https://www.theguardian.com/uk/rss"; 40 + } 41 + ]; 42 + } 43 + ]
+39
modules/nixos/services/glance/reads.nix
···
··· 1 + { glanceLib, ... }: 2 + let 3 + inherit (glanceLib) mkPage mkFeeds; 4 + in 5 + mkPage "Reads" [ 6 + { 7 + type = "rss"; 8 + title = "People I Follow"; 9 + style = "horizontal-cards"; 10 + feeds = mkFeeds [ 11 + "https://uncenter.dev/feed.xml" 12 + "https://antfu.me/feed.xml" 13 + "https://fasterthanli.me/index.xml" 14 + "https://blog.orhun.dev/rss.xml" 15 + "https://mitchellh.com/feed.xml" 16 + "https://dataswamp.org/~solene/rss-html.xml" 17 + "https://maia.crimew.gay/feed.xml" 18 + ]; 19 + } 20 + 21 + { 22 + type = "rss"; 23 + title = "Tech News"; 24 + style = "horizontal-cards"; 25 + feeds = mkFeeds [ 26 + "https://clan.lol/feed.xml" 27 + "https://charm.sh/blog/rss.xml" 28 + ]; 29 + } 30 + 31 + { 32 + type = "rss"; 33 + title = "Git Commits"; 34 + style = "vertical-list"; 35 + feeds = mkFeeds [ 36 + "https://github.com/moonlight-mod/extensions/commits.atom" 37 + ]; 38 + } 39 + ]
+61
modules/nixos/services/hostling.nix
···
··· 1 + { 2 + lib, 3 + self, 4 + config, 5 + inputs, 6 + ... 7 + }: 8 + let 9 + inherit (lib) mkIf; 10 + inherit (self.lib) mkServiceOption mkSecret; 11 + 12 + cfg = config.garden.services.hostling; 13 + in 14 + { 15 + options.garden.services.hostling = mkServiceOption "hostling" { 16 + port = 3025; 17 + host = "127.0.0.1"; 18 + domain = "cdn.${config.networking.domain}"; 19 + }; 20 + 21 + imports = [ inputs.hostling.nixosModules.default ]; 22 + 23 + config = mkIf cfg.enable { 24 + sops.secrets.hostling = mkSecret { 25 + file = "hostling"; 26 + key = "env"; 27 + }; 28 + 29 + services = { 30 + hostling = { 31 + enable = true; 32 + createDbLocally = true; 33 + 34 + environmentFile = config.sops.secrets.hostling.path; 35 + 36 + settings = { 37 + inherit (cfg) port; 38 + behind_reverse_proxy = true; 39 + trusted_proxy = cfg.host; 40 + public_url = "https://${cfg.domain}"; 41 + 42 + s3 = { 43 + bucket = "isa-cdn"; 44 + region = "europe-1"; 45 + endpoint = "in64u.upcloudobjects.com"; 46 + proxyfiles = true; 47 + }; 48 + }; 49 + }; 50 + 51 + nginx.virtualHosts.${cfg.domain} = { 52 + locations."/" = { 53 + proxyPass = "http://${cfg.host}:${toString cfg.port}"; 54 + extraConfig = '' 55 + client_max_body_size 1G; 56 + ''; 57 + }; 58 + }; 59 + }; 60 + }; 61 + }
+25
modules/nixos/services/kanidm.nix
··· 73 group = "kanidm"; 74 mode = "440"; 75 }; 76 }; 77 78 services = { ··· 113 "linkwarden.access" 114 "wakapi.access" 115 "immich.access" 116 ]; 117 }; 118 ··· 125 "wakapi.access" = { }; 126 127 "immich.access" = { }; 128 }; 129 130 systems.oauth2 = { ··· 191 "profile" 192 ]; 193 }; 194 }; 195 }; 196 };
··· 73 group = "kanidm"; 74 mode = "440"; 75 }; 76 + kanidm-oauth2-hostling = mkSecret { 77 + file = "kanidm"; 78 + key = "oauth2-hostling"; 79 + owner = "kanidm"; 80 + group = "kanidm"; 81 + mode = "440"; 82 + }; 83 }; 84 85 services = { ··· 120 "linkwarden.access" 121 "wakapi.access" 122 "immich.access" 123 + "hostling.access" 124 ]; 125 }; 126 ··· 133 "wakapi.access" = { }; 134 135 "immich.access" = { }; 136 + 137 + "hostling.access" = { }; 138 }; 139 140 systems.oauth2 = { ··· 201 "profile" 202 ]; 203 }; 204 + 205 + hostling = { 206 + displayName = "hostling"; 207 + originUrl = "https://${cfg'.hostling.domain}/api/auth/login/openid-connect/callback"; 208 + originLanding = "https://${cfg'.hostling.domain}/"; 209 + basicSecretFile = config.sops.secrets.kanidm-oauth2-hostling.path; 210 + allowInsecureClientDisablePkce = true; 211 + preferShortUsername = true; 212 + scopeMaps."hostling.access" = [ 213 + "openid" 214 + "email" 215 + "profile" 216 + ]; 217 + }; 218 + 219 }; 220 }; 221 };
+22 -14
modules/nixos/services/qbittorent.nix
··· 12 inherit (config.garden.services) arr; 13 in 14 { 15 - # <https://github.com/NixOS/nixpkgs/pull/472934> 16 - imports = [ ./qui.nix ]; 17 - 18 options.garden.services.qbittorrent = mkServiceOption "qbittorrent" { 19 port = 3019; 20 host = "0.0.0.0"; ··· 51 serverConfig = { 52 LegalNotice.Accepted = true; 53 54 - BitTorrent = { 55 - "Session\\BTProtocol" = "TCP"; 56 - "Session\\DHTEnabled" = false; 57 - "Session\\LSDEnabled" = false; 58 - "Session\\PeXEnabled" = false; 59 - "Session\\QueueingSystemEnabled" = false; 60 - "Session\\DefaultSavePath" = "/media/downloads"; 61 }; 62 63 - Preferences = { 64 - "WebUI\\LocalHostAuth" = false; 65 66 # generate with <https://codeberg.org/feathecutie/qbittorrent_password> 67 - "WebUI\\Password_PBKDF2" = 68 - "@ByteArray(2PRai2N/GL+Lt+VDdda0kw==:X4+iM6WwTPXExbBwJGcrHqxVsEN0cBxrhACiTMbEeQ6RjTdbfnJSB+CyTn3r1iJzEMMa0/XZzq2U1cG4O6AZZg==)"; 69 }; 70 }; 71 };
··· 12 inherit (config.garden.services) arr; 13 in 14 { 15 options.garden.services.qbittorrent = mkServiceOption "qbittorrent" { 16 port = 3019; 17 host = "0.0.0.0"; ··· 48 serverConfig = { 49 LegalNotice.Accepted = true; 50 51 + BitTorrent.Session = { 52 + BTProtocol = "TCP"; 53 + DHTEnabled = true; 54 + LSDEnabled = false; 55 + PeXEnabled = true; 56 + QueueingSystemEnabled = false; 57 + 58 + # sorting 59 + DefaultSavePath = "/media/downloads"; 60 + DisableAutoTMMByDefault = false; 61 + DisableAutoTMMTriggers = { 62 + CategorySavePathChanged = false; 63 + DefaultSavePathChanged = false; 64 + }; 65 }; 66 67 + Core.AutoDeleteAddedTorrentFile = "IfAdded"; 68 + 69 + # i will handle this myself lol 70 + Network.PortForwardingEnabled = false; 71 + 72 + Preferences.WebUI = { 73 + LocalHostAuth = false; 74 75 # generate with <https://codeberg.org/feathecutie/qbittorrent_password> 76 + Password_PBKDF2 = "@ByteArray(2PRai2N/GL+Lt+VDdda0kw==:X4+iM6WwTPXExbBwJGcrHqxVsEN0cBxrhACiTMbEeQ6RjTdbfnJSB+CyTn3r1iJzEMMa0/XZzq2U1cG4O6AZZg==)"; 77 }; 78 }; 79 };
-192
modules/nixos/services/qui.nix
··· 1 - # https://github.com/NixOS/nixpkgs/pull/472934 2 - { 3 - config, 4 - lib, 5 - pkgs, 6 - ... 7 - }: 8 - 9 - let 10 - inherit (lib) 11 - getExe 12 - maintainers 13 - mkEnableOption 14 - mkIf 15 - mkOption 16 - mkPackageOption 17 - ; 18 - inherit (lib.types) 19 - bool 20 - path 21 - port 22 - str 23 - submodule 24 - ; 25 - cfg = config.services.qui; 26 - 27 - stateDir = "/var/lib/qui"; 28 - configFormat = pkgs.formats.toml { }; 29 - configFile = configFormat.generate "qui.toml" cfg.settings; 30 - in 31 - { 32 - options = { 33 - services.qui = { 34 - enable = mkEnableOption "qui"; 35 - 36 - package = mkPackageOption pkgs "qui" { }; 37 - 38 - user = mkOption { 39 - type = str; 40 - default = "qui"; 41 - description = "User to run qui as."; 42 - }; 43 - 44 - group = mkOption { 45 - type = str; 46 - default = "qui"; 47 - example = "torrents"; 48 - description = "Group to run qui as."; 49 - }; 50 - 51 - openFirewall = mkOption { 52 - type = bool; 53 - default = false; 54 - description = "Whether or not to open ports in the firewall for qui."; 55 - }; 56 - 57 - secretFile = mkOption { 58 - type = path; 59 - example = "/run/secrets/qui-session.txt"; 60 - description = '' 61 - Path to a file that contains the session secret. The session secret 62 - can be generated with `openssl rand -hex 32`. 63 - ''; 64 - }; 65 - 66 - settings = mkOption { 67 - default = { }; 68 - example = { 69 - port = 7777; 70 - logLevel = "DEBUG"; 71 - metricsEnabled = true; 72 - }; 73 - type = submodule { 74 - freeformType = configFormat.type; 75 - options = { 76 - host = mkOption { 77 - type = str; 78 - default = "127.0.0.1"; 79 - description = "The host address qui listens on."; 80 - }; 81 - 82 - port = mkOption { 83 - type = port; 84 - default = 7476; 85 - description = "The port qui listens on."; 86 - }; 87 - }; 88 - }; 89 - description = '' 90 - qui configuration options. 91 - 92 - Refer to the [template config](https://github.com/autobrr/qui/blob/main/internal/config/config.go) 93 - in the source code for the available options. 94 - The documentation contains the available [environment variables](https://getqui.com/docs/configuration/environment/), 95 - this can be used to get an overview. 96 - ''; 97 - }; 98 - 99 - }; 100 - }; 101 - 102 - config = mkIf cfg.enable { 103 - assertions = [ 104 - { 105 - assertion = !(cfg.settings ? sessionSecret); 106 - message = '' 107 - Session secrets should not be passed via settings, as 108 - these are stored in the world-readable nix store. 109 - 110 - Use the secretFile option instead.''; 111 - } 112 - ]; 113 - 114 - systemd.services.qui = { 115 - description = "qui: alternative qBittorrent webUI"; 116 - after = [ "network-online.target" ]; 117 - wants = [ "network-online.target" ]; 118 - wantedBy = [ "multi-user.target" ]; 119 - 120 - serviceConfig = { 121 - Type = "simple"; 122 - User = cfg.user; 123 - Group = cfg.group; 124 - 125 - LoadCredential = "sessionSecret:${cfg.secretFile}"; 126 - Environment = [ "QUI__SESSION_SECRET_FILE=%d/sessionSecret" ]; 127 - StateDirectory = "qui"; 128 - 129 - ExecStartPre = '' 130 - ${pkgs.coreutils}/bin/install -m 600 '${configFile}' '%S/qui/config.toml' 131 - ''; 132 - ExecStart = "${getExe cfg.package} serve --config-dir %S/qui"; 133 - Restart = "on-failure"; 134 - 135 - # Based on qbittorrent and nemorosa hardening settings 136 - # Similar to what systemd hardening helper suggests 137 - CapabilityBoundingSet = ""; 138 - LockPersonality = true; 139 - MemoryDenyWriteExecute = true; 140 - NoNewPrivileges = true; 141 - PrivateDevices = true; 142 - PrivateNetwork = false; 143 - PrivateTmp = true; 144 - PrivateUsers = true; 145 - ProcSubset = "pid"; 146 - ProtectClock = true; 147 - ProtectControlGroups = true; 148 - ProtectHome = "yes"; 149 - ProtectHostname = true; 150 - ProtectKernelLogs = true; 151 - ProtectKernelModules = true; 152 - ProtectKernelTunables = true; 153 - ProtectProc = "invisible"; 154 - # This should allow for hardlinking to torrent client files 155 - ProtectSystem = "full"; 156 - RemoveIPC = true; 157 - RestrictAddressFamilies = [ 158 - "AF_INET" 159 - "AF_INET6" 160 - "AF_NETLINK" 161 - "AF_UNIX" 162 - ]; 163 - RestrictNamespaces = true; 164 - RestrictRealtime = true; 165 - RestrictSUIDSGID = true; 166 - SystemCallArchitectures = "native"; 167 - SystemCallFilter = [ "@system-service" ]; 168 - }; 169 - }; 170 - 171 - networking.firewall = mkIf cfg.openFirewall { 172 - allowedTCPPorts = [ cfg.settings.port ]; 173 - }; 174 - 175 - users = { 176 - users = mkIf (cfg.user == "qui") { 177 - qui = { 178 - inherit (cfg) group; 179 - description = "qui user"; 180 - isSystemUser = true; 181 - home = stateDir; 182 - }; 183 - }; 184 - 185 - groups = mkIf (cfg.group == "qui") { 186 - qui = { }; 187 - }; 188 - }; 189 - }; 190 - 191 - meta.maintainers = with maintainers; [ undefined-landmark ]; 192 - }
···
+37 -1
modules/nixos/services/radarr.nix
··· 19 services.radarr = { 20 inherit (cfg) enable; 21 group = "media"; 22 - dataDir = "/srv/storage/ranarr"; 23 inherit (config.garden.services.arr) openFirewall; 24 settings.server.port = cfg.port; 25 }; 26 }; 27 }
··· 19 services.radarr = { 20 inherit (cfg) enable; 21 group = "media"; 22 + dataDir = "/srv/storage/radarr"; 23 inherit (config.garden.services.arr) openFirewall; 24 settings.server.port = cfg.port; 25 }; 26 + 27 + systemd.services.radarr.serviceConfig = { 28 + CapabilityBoundingSet = ""; 29 + NoNewPrivileges = true; 30 + # ProtectSystem = "strict"; 31 + ProtectHome = true; 32 + ProtectClock = true; 33 + ProtectKernelLogs = true; 34 + PrivateTmp = true; 35 + PrivateDevices = true; 36 + PrivateUsers = true; 37 + ProtectKernelTunables = true; 38 + ProtectKernelModules = true; 39 + ProtectControlGroups = true; 40 + RestrictSUIDSGID = true; 41 + RemoveIPC = true; 42 + UMask = "0022"; 43 + ProtectHostname = true; 44 + ProtectProc = "invisible"; 45 + RestrictAddressFamilies = [ 46 + "AF_INET" 47 + "AF_INET6" 48 + "AF_UNIX" 49 + ]; 50 + RestrictNamespaces = true; 51 + RestrictRealtime = true; 52 + LockPersonality = true; 53 + SystemCallArchitectures = "native"; 54 + SystemCallFilter = [ 55 + "@system-service" 56 + "~@privileged" 57 + "~@debug" 58 + "~@mount" 59 + ]; 60 + }; 61 + 62 }; 63 }
+35
modules/nixos/services/sonarr.nix
··· 23 inherit (config.garden.services.arr) openFirewall; 24 settings.server.port = cfg.port; 25 }; 26 }; 27 }
··· 23 inherit (config.garden.services.arr) openFirewall; 24 settings.server.port = cfg.port; 25 }; 26 + 27 + systemd.services.sonarr.serviceConfig = { 28 + CapabilityBoundingSet = ""; 29 + NoNewPrivileges = true; 30 + # ProtectSystem = "strict"; 31 + ProtectHome = true; 32 + ProtectClock = true; 33 + ProtectKernelLogs = true; 34 + PrivateTmp = true; 35 + PrivateDevices = true; 36 + PrivateUsers = true; 37 + ProtectKernelTunables = true; 38 + ProtectKernelModules = true; 39 + ProtectControlGroups = true; 40 + RestrictSUIDSGID = true; 41 + RemoveIPC = true; 42 + UMask = "0022"; 43 + ProtectHostname = true; 44 + ProtectProc = "invisible"; 45 + RestrictAddressFamilies = [ 46 + "AF_INET" 47 + "AF_INET6" 48 + "AF_UNIX" 49 + ]; 50 + RestrictNamespaces = true; 51 + RestrictRealtime = true; 52 + LockPersonality = true; 53 + SystemCallArchitectures = "native"; 54 + SystemCallFilter = [ 55 + "@system-service" 56 + "~@privileged" 57 + "~@debug" 58 + "~@mount" 59 + ]; 60 + }; 61 }; 62 }
+6 -28
modules/nixos/services/wakapi.nix
··· 19 }; 20 21 config = mkIf cfg.enable { 22 - sops.secrets = { 23 - wakapi = mkSecret { 24 - file = "wakapi"; 25 - owner = "wakapi"; 26 - group = "wakapi"; 27 - key = "password"; 28 - }; 29 - 30 - wakapi-mailer = mkSecret { 31 - file = "wakapi"; 32 - owner = "wakapi"; 33 - group = "wakapi"; 34 - key = "mailer"; 35 - }; 36 - 37 - wakapi-env = mkSecret { 38 - file = "wakapi"; 39 - owner = "wakapi"; 40 - group = "wakapi"; 41 - key = "env"; 42 - }; 43 }; 44 45 garden.services = { 46 postgresql.enable = true; 47 }; 48 49 - systemd.services.wakapi.serviceConfig.EnvironmentFile = [ 50 - config.sops.secrets.wakapi-env.path 51 - ]; 52 - 53 services = { 54 wakapi = { 55 enable = true; 56 - 57 - passwordSaltFile = config.sops.secrets.wakapi.path; 58 - smtpPasswordFile = config.sops.secrets.wakapi-mailer.path; 59 60 # setup out postgresql database 61 database.createLocally = true;
··· 19 }; 20 21 config = mkIf cfg.enable { 22 + sops.secrets.wakapi-env = mkSecret { 23 + file = "wakapi"; 24 + owner = "wakapi"; 25 + group = "wakapi"; 26 + key = "env"; 27 }; 28 29 garden.services = { 30 postgresql.enable = true; 31 }; 32 33 services = { 34 wakapi = { 35 enable = true; 36 + environmentFiles = [ config.sops.secrets.wakapi-env.path ]; 37 38 # setup out postgresql database 39 database.createLocally = true;
+1
modules/nixos/system/loginManager.nix
··· 43 services.greetd = { 44 enable = true; 45 restart = true; 46 47 settings = { 48 default_session = {
··· 43 services.greetd = { 44 enable = true; 45 restart = true; 46 + useTextGreeter = true; 47 48 settings = { 49 default_session = {
+2 -2
modules/nixos/system/scheduler.nix
··· 1 - { pkgs, ... }: 2 { 3 services.scx = { 4 - # inherit (config.garden.profiles.workstation) enable; 5 scheduler = "scx_bpfland"; 6 package = pkgs.scx.rustscheds; 7 };
··· 1 + { pkgs, config, ... }: 2 { 3 services.scx = { 4 + inherit (config.garden.profiles.workstation) enable; 5 scheduler = "scx_bpfland"; 6 package = pkgs.scx.rustscheds; 7 };
-8
modules/nixos/topology.nix
··· 1 - { inputs, config, ... }: 2 - { 3 - imports = [ inputs.nix-topology.nixosModules.default ]; 4 - 5 - topology.self = { 6 - name = config.networking.hostName; 7 - }; 8 - }
···
+3 -3
secrets/isabel.yaml
··· 13 uni-sshconf: ENC[AES256_GCM,data:vlpEGjzBVwdJmEnIri2QVmWmHXrvikxQyIygHXPLKgSa5o9HsLRD7ZVx0vsS4n5L7RYWsWlujJxl8yNNG4jA34/W9Ty3q70c/fHpJ+x90QfVKtdETZDJzw87nsjeRnm3E9XedhcKk71FBNh3aDK757MH5XyAU/9o74GzzF5tLh9gnIGrcYsoVEQ+WgiJOzm0IA8loFLeAgC7GWyQj/A3Drttn0U25xxdba+Mc5sbHFKCeUqD,iv:yLzaOg7Jgy9cKQ5dk+3asfW13yWo0CsFvvPWfvB2SEI=,tag:965Q1dkg1K3ioHvTkMIILQ==,type:str] 14 keys-rsync: ENC[AES256_GCM,data:cvx9pUGrPJBymASrt+JAbRVYQEYi1ImudXDFiHTV1KaW+9lhpCM5s7LqLeAYApLtXagAxvV3BcjcJLPFFQ7vqVwuXVx+rSCsGVR5UV/2LluNFTLR1TcR+/AuJxW4AK6+5nT77w37yEkTV25WFcB291tD9QFQQpZ29tQTQotdqvuPXWTU0Z7010qUi/erkSoy4apHgNSQjJyVRXtTNFV6CYww0CRad9qlJzggAgo19XgR6+ISKP9w5iDWc7vRN092hvR+NT2MCd9rx11toTatw1xYYQYJNOPQvJVBnjEX19IJ1DBlBbv6J3dhqFJafebL/Su1xFClJSrtnXDOUSSNexrfx8mQqowmX5ZaPPYZ142MtI7PQthjDn4dSRQ+odBRPpMZZk1oM4bKIYHOIXfGAtCnthpDr0/XfN2xy3uOkARnvy/yB6YR+ttVH+uJypvWh4ix9hAVmRRPlmWlV2OzLZrGrnJZyRjTsWR9nXjgPJzZMKtEJ2HADMWDrBCOciTTmqraQqVLJQsEz2+T79APtsBC670s5xegWIT0vP8xsiJUtkIQ+HffO0L8Dd7GC/YPAExgdKaY2GqoEzu9MD4BCgeQ8JokaYuwHO0+NFu8FqAtomORnqFUKfu26Z6LMKESH+EULHJ1DdHAxyBN/dTqIJbl2emJw2Bvsg==,iv:29wGSa15IigCugflyLm2bk5XN4EmUKSuT3HxQ4T1U7k=,tag:gwyZZjAO3+HYXSObZdGXbA==,type:str] 15 rsync-sshconf: ENC[AES256_GCM,data:SOuE044+FlmnkmKF9J2F0E3VcmqHPV7kv2n1IB2N59sK1KtAG7Ol18sfBEL0vvBDfxlZqERtHppah7LVynftstCMDrXd81CXylN8qXStrkmh,iv:QO2fjhFSHt/x4xn61CeSLgyWigFxvKL7tujhdO0B7aE=,tag:An3oMosE9llrE3BYfwf5/A==,type:str] 16 - env: ENC[AES256_GCM,data:V/Ex0kCN8h4UbUhPuU/kLcu6KghvrkAdJpviouTPMw6drXa+QeyTJRZmkYA/QdCWC5CEo5f8YZqoYr9Ro44=,iv:TCF1CJYRdESl0Dci0cQI1E0lhy90/zfz81AAQahAqaw=,tag:i+ZXG7tCWu1af4wMbUd1zQ==,type:str] 17 sops: 18 age: 19 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 26 dN3efiSmTqI0Xdygv44F8H8oRZno8bf0ilBzluhI5a77v8tMo7Z5QKTLSpfdJcCd 27 jgRqTg== 28 -----END AGE ENCRYPTED FILE----- 29 - lastmodified: "2026-01-14T14:52:39Z" 30 - mac: ENC[AES256_GCM,data:pc1YU3cFvVBzH4mheeXVzPzJKoB0iboHw6OEJ8hW2llLaCNL/NL0OmcNARYGtu31gavIhgh8/W0XN+FDRGdm3eZyekOQGIVx13Y8gLkIydB1n7N7KP7K5RQ6tR6Eur0QFV5w0wBATL50IHsZyf+YlosL8j/UNGUAOVefUxwE6Ak=,iv:oGRA5sgw5hRdRVAKi5pnISzg4/FhvZs4jtK+twz/7Yo=,tag:1IXHosA/6wvZFsfF5VfjmA==,type:str] 31 unencrypted_suffix: _unencrypted 32 version: 3.11.0
··· 13 uni-sshconf: ENC[AES256_GCM,data:vlpEGjzBVwdJmEnIri2QVmWmHXrvikxQyIygHXPLKgSa5o9HsLRD7ZVx0vsS4n5L7RYWsWlujJxl8yNNG4jA34/W9Ty3q70c/fHpJ+x90QfVKtdETZDJzw87nsjeRnm3E9XedhcKk71FBNh3aDK757MH5XyAU/9o74GzzF5tLh9gnIGrcYsoVEQ+WgiJOzm0IA8loFLeAgC7GWyQj/A3Drttn0U25xxdba+Mc5sbHFKCeUqD,iv:yLzaOg7Jgy9cKQ5dk+3asfW13yWo0CsFvvPWfvB2SEI=,tag:965Q1dkg1K3ioHvTkMIILQ==,type:str] 14 keys-rsync: ENC[AES256_GCM,data:cvx9pUGrPJBymASrt+JAbRVYQEYi1ImudXDFiHTV1KaW+9lhpCM5s7LqLeAYApLtXagAxvV3BcjcJLPFFQ7vqVwuXVx+rSCsGVR5UV/2LluNFTLR1TcR+/AuJxW4AK6+5nT77w37yEkTV25WFcB291tD9QFQQpZ29tQTQotdqvuPXWTU0Z7010qUi/erkSoy4apHgNSQjJyVRXtTNFV6CYww0CRad9qlJzggAgo19XgR6+ISKP9w5iDWc7vRN092hvR+NT2MCd9rx11toTatw1xYYQYJNOPQvJVBnjEX19IJ1DBlBbv6J3dhqFJafebL/Su1xFClJSrtnXDOUSSNexrfx8mQqowmX5ZaPPYZ142MtI7PQthjDn4dSRQ+odBRPpMZZk1oM4bKIYHOIXfGAtCnthpDr0/XfN2xy3uOkARnvy/yB6YR+ttVH+uJypvWh4ix9hAVmRRPlmWlV2OzLZrGrnJZyRjTsWR9nXjgPJzZMKtEJ2HADMWDrBCOciTTmqraQqVLJQsEz2+T79APtsBC670s5xegWIT0vP8xsiJUtkIQ+HffO0L8Dd7GC/YPAExgdKaY2GqoEzu9MD4BCgeQ8JokaYuwHO0+NFu8FqAtomORnqFUKfu26Z6LMKESH+EULHJ1DdHAxyBN/dTqIJbl2emJw2Bvsg==,iv:29wGSa15IigCugflyLm2bk5XN4EmUKSuT3HxQ4T1U7k=,tag:gwyZZjAO3+HYXSObZdGXbA==,type:str] 15 rsync-sshconf: ENC[AES256_GCM,data:SOuE044+FlmnkmKF9J2F0E3VcmqHPV7kv2n1IB2N59sK1KtAG7Ol18sfBEL0vvBDfxlZqERtHppah7LVynftstCMDrXd81CXylN8qXStrkmh,iv:QO2fjhFSHt/x4xn61CeSLgyWigFxvKL7tujhdO0B7aE=,tag:An3oMosE9llrE3BYfwf5/A==,type:str] 16 + env: ENC[AES256_GCM,data:mLxRlbtzSCGDbSRxVVwCmL83LzEdl5OoCknPy1LxK6Wyt+n3wtt5ovPe75cmj6syv3ta6AfI6pN7WMozP3ANLSWmbdVu51SY7pmTWY57wiAgD12aAROjOjsy5s3ZW5qG5h0zot27WhnYxMrCjjNm9/zHx2dSuLW5Wg==,iv:2v9XSe0asCFqhcCejGRIamvkWBNvyygTows0N/Yl1Zc=,tag:A7KKDagw9mSHjyzDArE8HQ==,type:str] 17 sops: 18 age: 19 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 26 dN3efiSmTqI0Xdygv44F8H8oRZno8bf0ilBzluhI5a77v8tMo7Z5QKTLSpfdJcCd 27 jgRqTg== 28 -----END AGE ENCRYPTED FILE----- 29 + lastmodified: "2026-01-25T10:44:47Z" 30 + mac: ENC[AES256_GCM,data:AnBLki+Bfw0eeoZn+nKp95YsBu5pRxPFKA9hL1FmarlbOIXURConjDCfbILGgAlHf0AwoAY7GF+BLnhPB/Q+5I3QbSEo4PCcHUZw5kkC3/m9l3fP4v37ytMZJApVt0bdN13Zi4evxl46z0brm3pN48ofNxqLOcCyrPlx+iwey1I=,iv:L1XuUe2GwDvdQT9AWawBMFPE2KDAm1Foy+PXvl6h2c8=,tag:YEgLfo4uMsAlW1oarMjMnQ==,type:str] 31 unencrypted_suffix: _unencrypted 32 version: 3.11.0
+3 -3
secrets/services/blahaj.yaml
··· 1 - env: ENC[AES256_GCM,data:iKCLmuqwNw/+GRlRs1kOH8Lv8aViBmpryiiJe6NDseexiS9xPlhaUkitv7i+ujMi2/Oi7Yjh+PPEluPqWfJTd3G/CuayqrUjh30bXebUG/7Gy+aHfPFZUZis14iUOf5wB/WUAvRs3unTCY/FzpoRDs67Nd64DWFtL22DALP7rv08wZzupm7EBKXZdcATALjdkXRDpxfXANvKzpuWCA2rKWylcqXj1WZ53HImDVVr4CG3WT2RizMsa333IZAUkBS3IefwgOojPdR/aUmf9NrDJRnhLW5xGDXhlKQ/YS3e/L3r1Xz3WaDE107kmTxip1Qy5ry8UO4SnfjnwoEVbWriOOPGHgwUrWSOEeh/6qvcSo7ZHyVi9K7E7sZImBclwQ86sTMm67K10OKXhDkQPQYuJOkSXpHJSj7YSgMm9C3h+Gw0UNNzbaulJjUhVQM=,iv:k7Qxd+qCqyiNBnZwi+Hsj7EQrxILaMEeiJuavazauXc=,tag:ZGf5xcdQcitKVUMNhgTuGg==,type:str] 2 sops: 3 age: 4 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 71 bIGjagj1/voyCfepuvhGZ8gakxG82fmDUnyiZYvvFVJlewWMWhV6qssWeZvCaraA 72 ONyrnA== 73 -----END AGE ENCRYPTED FILE----- 74 - lastmodified: "2026-01-13T21:12:52Z" 75 - mac: ENC[AES256_GCM,data:7RrdN3i1yORexQgTOxNsSvhNy21k2r7F22jrqszSJRo6j8mXj8iDM9XkP1ec6xZqZlT4/C3yVplC8NoqlJhmx3ubw2kRl2hxXjSQYybclSNTogEh/kJ/OhQvqXuyqJrFcYGhMImJUQxgYv5Td3rxr72TAbUpxGlVBuDpGD/GLLA=,iv:KswSstPuCY8YO2KIpMQEbz1+Wz1LXJ207wEb13R3/74=,tag:V0m7FdtbetiIqrOE7yI/dQ==,type:str] 76 unencrypted_suffix: _unencrypted 77 version: 3.11.0
··· 1 + env: ENC[AES256_GCM,data:+4UB7DgmN2YJbxMvSqqSn1rU+A2i9jSY2uoilav+y8W1cTKNxb3+MXuTwcBS/PFP3KxjYlGKh29jozdvPuuVQ52QybV9xfKdL2hzFYWUcSTrGzmPsEWZZMstkpNj3tIDvfERErBvtTAbtnlZ3AP5hyXluthHf4EytwqVNWlDQzo2vgBNT3AnVEuUoAhE,iv:A5mc0hfL8LXd/PW5/Ey0xDp8p11V4UXa9EsASym1p6o=,tag:jrfuYfaRc/tA1euUHjf/Tw==,type:str] 2 sops: 3 age: 4 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 71 bIGjagj1/voyCfepuvhGZ8gakxG82fmDUnyiZYvvFVJlewWMWhV6qssWeZvCaraA 72 ONyrnA== 73 -----END AGE ENCRYPTED FILE----- 74 + lastmodified: "2026-01-28T13:24:16Z" 75 + mac: ENC[AES256_GCM,data:XxCo4ngy/uoCVBaf4PjNSNtLcRXUGpy6wQKb/96BrrynyhiV6z0Cs/xGzN7PpIuqk7S6tiLSfPOc8bcmySI/G2BU8VXzFExOtER3jP+O4M8Lds6r9IbcGetE8JX/cTCwidScFncxT57FEB7jC7kgUZEw2C1dEihWHFo0muXvNww=,iv:exp4gG5tvgh9i75SBW2uDOXcNXaVQ2Q/OgfSKPsfby0=,tag:RILmOgzOAidhN/j+Lz3Qaw==,type:str] 76 unencrypted_suffix: _unencrypted 77 version: 3.11.0
+79
secrets/services/glance.yaml
···
··· 1 + secret-key: ENC[AES256_GCM,data:S+B3BBgXvWWFbg1KsdqyVSgXDkYdEfkB7rAooBDxGH3z6grxmPZVVtFd2PNah2fZZ8FWWTxwNXpAw5P0AHKHOuSDxUJpYIVhjvYFNCG+EF6ETtrJIqYd1w==,iv:U3LpfRTS9zaNX2n0ReHKbVcTar5PHwq+QTd8PfBP2oc=,tag:ZLmyfp5iUAbFizJFdi5XvQ==,type:str] 2 + isabel-password: ENC[AES256_GCM,data:ByHtZuouDDVTznqR6KXqBA==,iv:Kd5ay+ATrk7buJjp/ijKT9tfS/rQ2FICV+vLRbVwvGQ=,tag:KJr7XQU6qw+6JVw82eWDMQ==,type:str] 3 + env: ENC[AES256_GCM,data:LNVdFCvXb9e9FzCnfkS7OTh2XIBGCVtAHSs6/SIDtHMi48aJiuE6L9xD/a/sZ7AsReguQPts4tRPOJby7RYu9M1ka9N7+MmjkDDN8m3cMTVGrKPMnMFKxp1bO7A8h9RwRJjXHYsv6hgUZ7pTluVUF5C67gFHnXEQ5xuiQP7WF4viE5ho4ITfMkac1Qn6OCdQlutus0zSrqg+jKUW1N0TKMxx6IiqxuXTUe+8dB7eXltddj/q8u84t4t8SvVSmtdh//fv82Nv6ubXwkhPulUzAOC/B1KMY4gxsyhoZNRULdQtFU1GUcrftjRW4RjFEN5LEIyL80KUkUrLeW7EyjjT6Sf1jbOAmPxZkLdLcd4DB58E55ILCG2Z2Ja2yBKKVf2oPzb5V+bX63G8BtdZuQv6wIUmCn0SMa6hKBoUNXuZmyd+seRfTmz9a6jojBqtH7C/8tEtcNRnOgD6uQ8h8ySX+4/4dxyHQ0TJtmPKQSO1mELYlIu/dWTSm2uE76yvN23DWJYlJ/MHLadZ1O3qj8qkmKPCN34GWKXx7aO8TrvDWn+OjKLK8GGL4GLO2YYf7R7HzKRuQpY4bBEvarGeGoplYHw2gQBnHHrRoivBCVI3vcjljkTiyrR9jimEAl4acaR1DBcMwgegUr5GIiFsD5mxRCQxG1YWXpw88+xDim8K/FiJ,iv:ShClli7F6DkYzkEmBqqV++nyvkut3ZU/I8+gi0TWGCY=,tag:h40AUWRumGcD/9ewoBm94A==,type:str] 4 + sops: 5 + age: 6 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 7 + enc: | 8 + -----BEGIN AGE ENCRYPTED FILE----- 9 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDk1NDQzZyBhUVhK 10 + aWFTa2JKNDQrUW9JKzBwbkZTYTI4QTZTVCs0VzYrSmMyUzNCRkE0Ck1yc0ZnK1R1 11 + Z1IxdjBYUmtkaitCRDRzTk9SQ1V5cFYzdjZieDdCV2V1RlkKLS0tIHdhekppa0Fq 12 + a2dFMmZvUW03VDRnbmY5T0ZPUnNlQmlRZ0hsejU3a1BGNHMKbgJV35BEV3x1phbN 13 + JOVAlQE4hv+GMWa8IxHjRA0125OIVXf23oGPKnPSO1rxQsa8zkJ8rLmsKJbYs4rw 14 + 8zKOMg== 15 + -----END AGE ENCRYPTED FILE----- 16 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAomF8O3ZqZBpLRlAkS1+FwRllSMrREHtndw07trrfcA 17 + enc: | 18 + -----BEGIN AGE ENCRYPTED FILE----- 19 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IENXL2NhQSBFS05n 20 + SWlITDVkdEtKUmJCYmUySVJ0ajBtbGZzVzNrREQzVWlJUVZaK3dJCm13azF5Qkdq 21 + L0xiVndDMWVxeWJwRkJZdzdRc25JckI3NGxWMGN2V2NVZk0KLS0tIDRTY1FWb1Ja 22 + N3pzaTNXbDFGSlhEbWZlSU5Vd0FFUS9rTDNrWWM2Z0RqWDQKKRMXcCBEMgMTUPmU 23 + s8I2MsZnSpv/Iim/rXiVo79jjdA1mDgLYBCFyukbY62aP9Bu9foiCCTUH9eWPm0h 24 + 2pqc0A== 25 + -----END AGE ENCRYPTED FILE----- 26 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKV3N2r1cX3kZMHxuJYaFsjWJRtik/2b/KZ5ru38IqAT 27 + enc: | 28 + -----BEGIN AGE ENCRYPTED FILE----- 29 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFh6aDdpUSBpUzlm 30 + TE91SlBuZFNrc09KQnNjZ0F6eExCeU5DS0JpUy82TExBQkdBcVJjCkVhZHRlRTBN 31 + UlRPK1JBdjhOS0ZPbS9IbjRlR2VWczFtV0YxeWc3RnhaQW8KLS0tIHBhSDZRWjMz 32 + V3BraHF3bitCSFhWQy82U3BOYVZkeWg5MnJqLzBRVE5WNGcKSW+05U9xIdPNCxlR 33 + Cz6ZRriQWm7Ah3XMUxnY6h4jG9PsCShNqu3bIqadMAGISyHL/5jIKLPoK8Pvk+mE 34 + dYn75g== 35 + -----END AGE ENCRYPTED FILE----- 36 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN2pZDnEwnOsrf9aPUVkBigeFwAirWPVGliSs5AgcEFr 37 + enc: | 38 + -----BEGIN AGE ENCRYPTED FILE----- 39 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFZTUGdBUSBING1m 40 + NDNzbFJncEYzVGJEdHh5T2E1Y3BJdTVxSlpLTHlSRnluQTdML0QwCnl3UWJLRVVH 41 + MG1EREpYTFQzcFFMR0hTWG83S0ZhVnV5SzhPMTRDRnhvUXMKLS0tIERid2JhdGZT 42 + MGRFQW5weDBiYTd4UkFtSG9sOWJOT3VrNUp3amhNYVdiVHMK2kP+8pqxr4rTyaOg 43 + PesP7rq+cwwpKpRUzpDbvI0p5iTkfA6tpVfkNvpWW7jq2a5ZYOQZO75Ig2kyiFw6 44 + mSI8eQ== 45 + -----END AGE ENCRYPTED FILE----- 46 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOXg0Qq1bdnrYp+KL6tfLZsMf3KHFfpaP2GMjwmpug2 47 + enc: | 48 + -----BEGIN AGE ENCRYPTED FILE----- 49 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGRaVG9vQSBzWjk0 50 + YXU3M2ozbktBemdna0JYMTlUdGhYWVhVVGNabDNWWCtJMnFNYm1zCklURFhHUjN3 51 + dnFkUjRMcFdCRy90OENkZE5iczVzamoxbDhsSkROdytIdlUKLS0tIHZ2NlVRcWtW 52 + STc2R0Q4K2ZGK2N5eXpTV1dFaktHYTdPc0RXOHV2eUtGTlUK15OGioZ589zF+UVH 53 + sHdgL/o9uowelnmGKUxW3TMK58mx4h6Rf+CvybaxJisql63bOkCzkGPGMC26xBQJ 54 + hWX7Nw== 55 + -----END AGE ENCRYPTED FILE----- 56 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFecrTXoINyGQkeOLQetR5BC6s9VlJHlCbY02WY5FAnJ 57 + enc: | 58 + -----BEGIN AGE ENCRYPTED FILE----- 59 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDgrRFVnUSBvVTlw 60 + dW80MnZsUUY4cklSS2l4NHNwZ2svQ0JXSjJUNXY1NCtoNDJ1V0dZCmdDS24yNTV5 61 + OU56OVJ3ZEhWZGptajUyaUtUTkxxTnlKN1RReWQvY0c1dmsKLS0tIDhUeGdmRDgz 62 + RVdQc0U2bFhnUTVZUTZueGdKL3RES3BLQmxZeEtwa1BmQTgKKTKxBX71a1fyT7vl 63 + h8JvSxEPNKuAKW/mdQ6hBWuyYEqKcPkyN9A6qwrLNONK8xv7yN4h6Sxi1IiDUd6O 64 + E/xHSw== 65 + -----END AGE ENCRYPTED FILE----- 66 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIErl+4GkgJOoaUUOU9gblWJ6FpIls/adHx0YpOUXXxJA 67 + enc: | 68 + -----BEGIN AGE ENCRYPTED FILE----- 69 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IEptYzFtUSBTcktU 70 + SjN5aHhzQ1dROEUvN2U1RlNZQlZ1WDh1NnV1SlRIaXhNR0grZ1RrCjBNWWlqem9U 71 + d3UreUIwZVQvNHkxN1RIUUNHeWlROWpIbkdrQUxBdWJGcDQKLS0tIExEcDJJL2t0 72 + T3hCYVk1ZkpnQ3JUUTJDeElxNFhtVUZGRGZ6bzNvWjlqNE0KRCk2fkfO7w8LkldO 73 + ukAZBIQJPQe7fvML0y58jLkdQjb3W/YZ/EWiteXxFne2e8nb2SuBaZb6G5N5cQsB 74 + mLB1DQ== 75 + -----END AGE ENCRYPTED FILE----- 76 + lastmodified: "2026-01-25T18:15:01Z" 77 + mac: ENC[AES256_GCM,data:A3IxDJ+jU0+Uww0wecjSY2uLLZWul0aCjmnRsxNVgxwJXsv8yn/i4NaNmFPqMsKC5TmnXRRlLetdSguWKcbht25NJjJK95HKN6Ig+CvUFa9RgKHoPzzJEOY4QqJjMNSDmUvEGO0sz27vow9TG9+vpZM6AQHz22cc248p4/7OKn8=,iv:f1U7d1TZIuqlyGLBx2Rx6v5HTrYfYdItvHI8M3hRImE=,tag:EWaXs2fr2Yi34UCWMvOJWg==,type:str] 78 + unencrypted_suffix: _unencrypted 79 + version: 3.11.0
+77
secrets/services/hostling.yaml
···
··· 1 + env: ENC[AES256_GCM,data:4LMQbgriQJ1wBY1FUQ25RJYWGYGw2nnTCi/T8KXIE3a1HpMGhWUqlEfTe723FMms59szDlxnE1RsXLe2hRbruJg33c25gXDLP/40he8x3S4uXRtBK84XOjcg8ZRCXw/DaFguyb1KeKpJFmTPnZDJ8BAVCk8aoTw/6K1lFrTCxyH7Sna058TXCTLDrpxyCX+CbAs7XG4exvJ3Ur0ZAeeQpD+Tu6tbF0mAIDGm7taNagMAxgk+iTdfaw8hjtEagVOg3bRdOYMNOEju26OnOXr7HOrozBecJAyoO/zMpKUnjDP21Hv4pVnNlk3fR+Uc0F61bzhoLH4b9oLKWVl0m/jktwH+/DrxE6IHGgSEdOuWilnHxl5q9u4kI3hQGZYegjpwxSDfSxgXEfSw0pL0NZeji/vLXtjQLKtYPBWqjIT8enrWowwJSnbDOhY=,iv:5XMDR1wcrSy6bUx57xl/vz68J87zs7OmrhV18e6dTOE=,tag:8lEn2Aa93wqfuPmGrqQNGg==,type:str] 2 + sops: 3 + age: 4 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 5 + enc: | 6 + -----BEGIN AGE ENCRYPTED FILE----- 7 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDk1NDQzZyBZeGFC 8 + amtmZ08yakNxT09IVzIvNG9jVEc2TG5Kek4xZWRJOHdIV3pFN2xnCjF0K2xaNXVl 9 + UGxsNUNkbUZpeE96b0g0emJKTkVaVmFqV3grSklLSjNjVkkKLS0tIGpCYzVZOGIw 10 + V3gySU1SeEp5eEh5Wmg4a3MyUS9ORW5sc3VkZ1krQ2Y4T28KdfskDVaCNGOK9TKy 11 + IRt9vhNPcZJu5lqCti7mE6T44Q1Y/3jcK94FgHq8Tf1hz9CJj7nf4xyZaSVUvsRW 12 + j0z54Q== 13 + -----END AGE ENCRYPTED FILE----- 14 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAomF8O3ZqZBpLRlAkS1+FwRllSMrREHtndw07trrfcA 15 + enc: | 16 + -----BEGIN AGE ENCRYPTED FILE----- 17 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IENXL2NhQSA0SVNI 18 + YVBMVXoxNDJKL3BCb3N4NnhMTXNqdUhrUDdjMTdTcEsxbVpGL1FFCjRjb0w3cWph 19 + TG5uZ285SWthR0wvbjhCMnJmdlRERnlxWGJCaXlnbHJOL1EKLS0tIGVSRnBrb1lD 20 + N1FIUDZSQnRjMXdKdW1iL3VUZElleWg3NlI1R0JFLzlVMWsKt821rKpZNqkDzWUU 21 + CAOjfknx45+l47V4JegWlUJYgrc/oZHW6VhNAEVab/7p16kT0cxR2qQEpu8hHCkq 22 + Nn9v8Q== 23 + -----END AGE ENCRYPTED FILE----- 24 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKV3N2r1cX3kZMHxuJYaFsjWJRtik/2b/KZ5ru38IqAT 25 + enc: | 26 + -----BEGIN AGE ENCRYPTED FILE----- 27 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFh6aDdpUSBnVUFH 28 + Zms2ZEVneGJOa3RGZjVrQnBjT0lkTFFYMFRBUjQrNmw1cDcyRGdZCjEzT292cktv 29 + NmJ0TDlNM2JLMGJZSm9lNFd0Q1dRdmp0R016ejVTTUV6ZE0KLS0tIDl5U3dMVkRo 30 + WG9XUnpxUXpFTWxjdDVXdHJreUVyelV6NzhMaG5nTHU5dzAKWojiW3Hs/1rG/1+u 31 + ELxAcE7Yfykk2KIE3bny2YBEN9Q7GS/WmoPtg8EvBBATDrghm4Z2ChkmNp0HUrmF 32 + xDy5ow== 33 + -----END AGE ENCRYPTED FILE----- 34 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN2pZDnEwnOsrf9aPUVkBigeFwAirWPVGliSs5AgcEFr 35 + enc: | 36 + -----BEGIN AGE ENCRYPTED FILE----- 37 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFZTUGdBUSBVT2Y3 38 + WitySGRUcnRjLytsNCtsdEo0eG1DRFRUUnl0bUg2OUxaR2E5SUdnClNmK3hRTHM1 39 + aFc3OEgxVGxjSzJsbmFUU1JISHFodFNGbUVEZFUrQUl6Wm8KLS0tIExHZW9sYVVj 40 + VEVBTERwWFozUXU5SnZ4RDNEcWE5RTl2bGhEa0lzbnJCNVkKjZTky9WeA0hPUSaR 41 + gEva9lMUWpD7WwEEwWW6qqacBH9KS/4aXDpKRWoLKBDWTz8jASIQTp1Kbh8bnY++ 42 + 9MZmeQ== 43 + -----END AGE ENCRYPTED FILE----- 44 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOXg0Qq1bdnrYp+KL6tfLZsMf3KHFfpaP2GMjwmpug2 45 + enc: | 46 + -----BEGIN AGE ENCRYPTED FILE----- 47 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGRaVG9vQSBPQWlU 48 + U2dLVFBuRnhzMm4wYWJMajA3ak01RVVBNUd0K1dtRFliZ21jVTB3CndTQnpMQUhh 49 + ekxFUmJpalF4LzI0b2g2bTZ2WkJlNTJDVVRzZE5LaU9LeXMKLS0tIHRjZUpiU0tO 50 + elphbHlhN2dDQnV4Zy9NZ1IrSXpsTDNGMFgyY0V4TUZaak0KzZZjFFiLvsQkJ5/f 51 + F+D9gggE782NUNtlLDMw+jDQoZ4hwWOLtVMs6u4HhIV8YlUXNUvbv4eH8kFvXnRj 52 + amJUYg== 53 + -----END AGE ENCRYPTED FILE----- 54 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFecrTXoINyGQkeOLQetR5BC6s9VlJHlCbY02WY5FAnJ 55 + enc: | 56 + -----BEGIN AGE ENCRYPTED FILE----- 57 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDgrRFVnUSBpQ0p5 58 + R2Z3STFLT1lEU3Q4YTBGUVBmb1g5YXNLMDVLZm5IVG9Sa1RRUUJvClo2Q3Y0ZUw2 59 + by9NWXhqYTFaaHZYVWVZVXhNZUZzektwNEJQNnVCckhPcEUKLS0tIDBFMTF1aktt 60 + N2Z3dDQra3ZLeEUvdnVXWjVnSFgzb0c0ZVZGa0hIRzlCQ1EKwqtG+us9kyK2aHNq 61 + 1UgDizAWi/HjJXfMQ71dZ31KFPIht6xZbNmLsl897kdngRqaX0PirGdyvhB/zsN8 62 + LjUbqA== 63 + -----END AGE ENCRYPTED FILE----- 64 + - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIErl+4GkgJOoaUUOU9gblWJ6FpIls/adHx0YpOUXXxJA 65 + enc: | 66 + -----BEGIN AGE ENCRYPTED FILE----- 67 + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IEptYzFtUSBmOFI2 68 + d2dIbTkwYnlpVmF4UFR5Z1FTcXJRMVNra2Qxc2JCVXNmbWx6N1JvClBSVUhFMUlB 69 + Y1gzTWlMMGNGN2IwakxHY2grMG5idUpmMjZyam9UUE9QR0EKLS0tIEU2Z1c1UVQr 70 + R0dTVGVGd0FEWXA4cGpUUmNnZUM3R0Y4NTBlS0VDQlJ3U1UKe6mLYY8N1rucWqrg 71 + kKJ4mLSM4ttM34bmK05pGh4Sz+kVf+hB9+TgWSmZE85TAtyVDljz25TuNMkT4Rr2 72 + 2hgY5w== 73 + -----END AGE ENCRYPTED FILE----- 74 + lastmodified: "2026-01-22T20:56:44Z" 75 + mac: ENC[AES256_GCM,data:n59xb1htiLiHcCasgE1c7sRjt5N1iRNl6NC4gPe4WaOsRQN5iKt90ndj1gBpek2gUG1IstbRshV1gGm5JmbL0wRPN1mWW7lelMhjo9Y2BLOZbFPCN1kA1fP0AHLwUryEGv44SEYEBMApwHYsig6ZSka9MTAFVnQnWdA7YT0M7Hg=,iv:T1saLQp2RYFrwivnfqpxfJ3PtXXkxkwFskX5tgdMMEU=,tag:SBx8FhkwIOStsvI3qDtpSw==,type:str] 76 + unencrypted_suffix: _unencrypted 77 + version: 3.11.0
+3 -2
secrets/services/kanidm.yaml
··· 5 oauth2-linkwarden: ENC[AES256_GCM,data:9Qva6+boTYp+2H4FoP6uO8uphGuMRq845pFRKaFaSZ9BAPyJndHgqVpSAxbXS6MT,iv:mMQdW5rBddSOa+O6Al0M2/6tP8ECHpQfqzxKx3UO22s=,tag:52F1oJjEHfG8IoKWr00nRA==,type:str] 6 oauth2-wakapi: ENC[AES256_GCM,data:2qJ1Cn9wnrpepf8O53PuUtaZueLd6mC8WRIEoRcTH8W0ZALBOsrVA5rgu++373XO,iv:KJ8FThCGmbSfUmIhtisCOowSWpDd6qW5vNmfrGHWe54=,tag:Xs3oNOin3mAvvJBHfdRc8w==,type:str] 7 oauth2-immich: ENC[AES256_GCM,data:6Or046zQXUWUytAYXG6hnvCn7E0MTq+9vsqrfGxsbzVYFENblsUoGiKwoQUfBB1V,iv:LtduTwFIZsPAbxeR6GEteND28yz2/UvGwohNhMTnYxk=,tag:mUTgZSrg2F5a/WeGoWRyGA==,type:str] 8 sops: 9 age: 10 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 77 W8XAE4/Jgr2rWQWhfXQGNY1nQIib6RNJuvuoqnisRru34jhEb+uK7gPZN65ZpFFY 78 Ecy6rA== 79 -----END AGE ENCRYPTED FILE----- 80 - lastmodified: "2025-12-17T22:10:38Z" 81 - mac: ENC[AES256_GCM,data:fIXWKRMGrk3LqLpXOhd7fMb9Jkpay+DTFAZL/J2NItuXD/alI/wLtLb3NVphRhXHv4ZbjqXW9lbNgXomfHN2cFKYajKw8RoVql4QOpjrcWCK3FVTS+YRB3YiecxepVcv0hLg5thV8X6bSgrNmgeZKb3lPaNFmWV9wlfCVA2t/zc=,iv:OLGmXhTmZp3yWGD5uz5iazem/jT+Ckh58l+PsWq6NYY=,tag:SkIVU7Pme07g6STVQVhjPA==,type:str] 82 unencrypted_suffix: _unencrypted 83 version: 3.11.0
··· 5 oauth2-linkwarden: ENC[AES256_GCM,data:9Qva6+boTYp+2H4FoP6uO8uphGuMRq845pFRKaFaSZ9BAPyJndHgqVpSAxbXS6MT,iv:mMQdW5rBddSOa+O6Al0M2/6tP8ECHpQfqzxKx3UO22s=,tag:52F1oJjEHfG8IoKWr00nRA==,type:str] 6 oauth2-wakapi: ENC[AES256_GCM,data:2qJ1Cn9wnrpepf8O53PuUtaZueLd6mC8WRIEoRcTH8W0ZALBOsrVA5rgu++373XO,iv:KJ8FThCGmbSfUmIhtisCOowSWpDd6qW5vNmfrGHWe54=,tag:Xs3oNOin3mAvvJBHfdRc8w==,type:str] 7 oauth2-immich: ENC[AES256_GCM,data:6Or046zQXUWUytAYXG6hnvCn7E0MTq+9vsqrfGxsbzVYFENblsUoGiKwoQUfBB1V,iv:LtduTwFIZsPAbxeR6GEteND28yz2/UvGwohNhMTnYxk=,tag:mUTgZSrg2F5a/WeGoWRyGA==,type:str] 8 + oauth2-hostling: ENC[AES256_GCM,data:DAE8jDuqGvqf6xAUUEJH+E58y7JbH2Uqn2rY+dBrM2uZJ76BL43Z9y9ZK0jES9o2,iv:cOTXVNRUfO/on0EAe4zWLCHtfqY/6T+zfshvccwZVs0=,tag:YfKi+t5ynGvvYIM3bHweDg==,type:str] 9 sops: 10 age: 11 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 78 W8XAE4/Jgr2rWQWhfXQGNY1nQIib6RNJuvuoqnisRru34jhEb+uK7gPZN65ZpFFY 79 Ecy6rA== 80 -----END AGE ENCRYPTED FILE----- 81 + lastmodified: "2026-01-22T20:00:33Z" 82 + mac: ENC[AES256_GCM,data:GD45/UxVFbss72OYXiWh5kK2MEVExDqNgXRQydKzQ36/nj/cNFZlQd3FVVHOkvFPuTZfwt2nv8o3JM6YYdeSTRtGF+Bg2kpHmZo2gwFMBbTCMweZoEqgKl9zaRkjqstn5Eqo3SdLuP9mkEzarYCflHyrIVbEaOfDj8PYMsrTKUI=,iv:68KK4Lr0XDBAC0hfu5v0cf+1Dkro7z/t8YKyGGrL9OM=,tag:Ja5t0T+ogShAgP4awJ552w==,type:str] 83 unencrypted_suffix: _unencrypted 84 version: 3.11.0
+3 -5
secrets/services/wakapi.yaml
··· 1 - password: ENC[AES256_GCM,data:l1mX9WuGEAB/UxMxi5Mgb54qQo7XQyTQjQM2hNdw+8CHjhdz4Yu+oexC6KHeMMwzaswjQBXh8HpeoF1S9dknkd0SIf2oRQ40w+3gMTryZ6PHR3MBf20=,iv:kvY+uIsgtrAu3YbhC+OwCujRdnsluIzUK1KLZ1pds+g=,tag:1Yvvc1FleGiveS4HjBbRRA==,type:str] 2 - mailer: ENC[AES256_GCM,data:n5BRq7qZ1NEg6dAu5a3xnIs54RHz38iSYjMkQT42C3RZ6D3HxuvijOOPxZe7uUX1K54qAiUU,iv:/89thSnYMvsITxF9E6xYfDETyxjTdyL3thGhqs4kgNU=,tag:XyBvbkC0dHWWhJMTIuQyrQ==,type:str] 3 - env: ENC[AES256_GCM,data:m5x5UM/+Lr2RQsveE7A4zwUboWAzkISQBKl5XlmftUCRtPy4lG7KXELtYnaY02Uk2Z4GxT/X4gutLWhl5l2Zbyoa90UlOjsNJoq7odRIlZ6NHAs9+Oo+D73bQe2KRSODcyeICRB8yuL1m9vjhYx8WSKwIN5RIxCWhyG4q8zqFylU6Qqq2duMvNG8QMs0kuKYZfMgq9oaTZYz4WOxuiBTNZiSPpN8vnIXbfjCdbsaW4Qo0VUeN+XewXK9U/+H5JjPzbxKWGFScmoACehGAmMi6lpl4BrMvuZF2S1W61n5Lw7h3rW11ZjxSbAYfIcaipld2lJpy4HNRcxubeDwpnO3Il8YIiD67wfLrkcYBalahdTAn/25/z72iSlVIXROaUFSa403d/A0D3rQFg47OH6YnmuT,iv:4eKQh5woaaoXmpnlReGooCf7Z+s1/nMApOgeYcoq7ak=,tag:1iEH0+DdTepWGLj6SVzzqw==,type:str] 4 sops: 5 age: 6 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 73 2S+qlySKW1ojh08N8F4db3s6a8CcwfeCI2f0soPx9OC8ctw+hVFGxuBm0USdknUi 74 U0ih5w== 75 -----END AGE ENCRYPTED FILE----- 76 - lastmodified: "2025-11-13T15:27:03Z" 77 - mac: ENC[AES256_GCM,data:S/G9OrtA5jLN5IG7bfzEIOwsbRfCgLxDbKX0hGbYb/wZEg/xYckiBrkgTQUsromAYaI0TUtdm31mMvd8NyhOU5VJk5PNqfQvjBnyfTh8kQhEj71Dsmu8+JCH5vY5OVyqgYdSJ/apgYV5KeejykKcfwCpVVCJPNpmiy3dHlJPwIA=,iv:UEfXiJIbkQX4F37x1+FmtE0YE7wwuPzCfsTitGJEAyo=,tag:cjhtiohjKvWBMjKAjGasnA==,type:str] 78 unencrypted_suffix: _unencrypted 79 version: 3.11.0
··· 1 + env: ENC[AES256_GCM,data:p17HHtjlNX2f+NNhHnwZgyrAzFxT2XEPbJMcYFpgazJ+SOjmY1noCPLeds1VibwMP25/wyDOkckdLtlDwQ6FLf8sdpiBNiwd2kToTz5Pxw9l28NpERuaQoyD9Yk4yMsleSQ75sKkdhWWFLxLr6wqUCC9wjqZ32l4oeDzGBUwXQ22zoG2oRdxjyQeUMxMvsdVB1ts7F6YFwepeM+qTDmSSd4zkzm8JbqNLFnD3M/Fd6pzVW29j+LEhJqtyomJRzivAprUqUL2nN1ME0Nnq3LR/jaokvuOvFDFnLF/2Vjb5kdZy491NGbdJJlAbv9HhxU6T86cZcDlZEC+cg3DH95KqkvRuldwOQzCnitRYPOyIvLwk5NoXAadjAaIGTOOZcvu0rxOzTzQGWY8JLCICXerH5GrVZ6L0dP5VpcQ3/d5e4mxH8UUWuZ/EGjWnk/IwxhNeXMhyDbqmKiQaaq/J3Y+Yq5Ros/I3nbPNQaxnvGLUGNlDeKbEjUynt52uyJjJOnKAqhk1YEn8KSSkcFvBengSBWfp3ZMmIJRKN0Yd0xh397vE5OU92DxBwHetTX7MX/CtNUlCZmZNKumCVdq1/4Jcw==,iv:iehokIFaIbhfHxe7Pk9GeW1AYlw1lEUSxx8XEOLokaM=,tag:RVJXLoWr3UJJbNa/vDR5rQ==,type:str] 2 sops: 3 age: 4 - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQDiHbMSinj8twL9cTgPOfI6OMexrTZyHX27T8gnMj2 ··· 71 2S+qlySKW1ojh08N8F4db3s6a8CcwfeCI2f0soPx9OC8ctw+hVFGxuBm0USdknUi 72 U0ih5w== 73 -----END AGE ENCRYPTED FILE----- 74 + lastmodified: "2026-01-31T19:04:32Z" 75 + mac: ENC[AES256_GCM,data:m5UuIZZw2wXNEwj02P96dMjLLIJH42JqAukkFaivvx5qPKt0EaRX5B3dRvfjTVlId2eFMmdUedc4iUFQnyN9jkCUDpdkzB0Kz9dcDzRMtdIlve5movQ9hbKRfiZnXKEKaIfJtk0jDoUMyalC8ci4gFI+yRXwSz7YUKLfizd57n0=,iv:+4YnQNc1ff0MYI0sruNO+wEzXgThKFnAI/+R8c/N60E=,tag:vZtOixjuJmusm28HVPo6Sg==,type:str] 76 unencrypted_suffix: _unencrypted 77 version: 3.11.0
+1
systems/athena/default.nix
··· 33 immich.enable = true; 34 arr.enable = true; 35 borgbackup.enable = true; 36 }; 37 }; 38
··· 33 immich.enable = true; 34 arr.enable = true; 35 borgbackup.enable = true; 36 + glance.enable = true; 37 }; 38 }; 39
+1
systems/minerva/default.nix
··· 28 blahaj.enable = true; 29 kanidm.enable = true; 30 mailserver.enable = true; 31 32 # web 33 nginx.enable = true;
··· 28 blahaj.enable = true; 29 kanidm.enable = true; 30 mailserver.enable = true; 31 + hostling.enable = true; 32 33 # web 34 nginx.enable = true;