From 7dce2de33399b8ecdae0f766bfb7c0e3eb9a4458 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:26:19 -0500 Subject: [PATCH 01/22] Enable deadnix --- flake.nix | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index 39d1645..fb91b4c 100644 --- a/flake.nix +++ b/flake.nix @@ -36,19 +36,18 @@ nushell ]; buildInputs = with pkgs; [ ]; - treefmt = { - config = { - programs = { - actionlint.enable = true; - jsonfmt.enable = true; - just.enable = true; - nixfmt.enable = true; - prettier.enable = true; - typos.enable = true; - yamlfmt.enable = true; - }; - projectRootFile = "flake.nix"; + treefmt.config = { + programs = { + actionlint.enable = true; + deadnix.enable = true; + jsonfmt.enable = true; + just.enable = true; + nixfmt.enable = true; + prettier.enable = true; + typos.enable = true; + yamlfmt.enable = true; }; + projectRootFile = "flake.nix"; }; treefmtEval = treefmt-nix.lib.evalModule pkgs treefmt; pre-commit = pre-commit-hooks.lib.${system}.run { From 1968b9989ca273bd12d12a6ae1be4153ca4061c0 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:27:03 -0500 Subject: [PATCH 02/22] Properly ignore image files for spelling corrections --- .ignore | 2 -- flake.nix | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) delete mode 100644 .ignore diff --git a/.ignore b/.ignore deleted file mode 100644 index 88cc107..0000000 --- a/.ignore +++ /dev/null @@ -1,2 +0,0 @@ -*.jpg -*.png diff --git a/flake.nix b/flake.nix index fb91b4c..8f18366 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,18 @@ typos.enable = true; yamlfmt.enable = true; }; + settings.formatter.typos.excludes = [ + "*.avif" + "*.bmp" + "*.gif" + "*.jpeg" + "*.jpg" + "*.png" + "*.svg" + "*.tiff" + "*.webp" + ".vscode/settings.json" + ]; projectRootFile = "flake.nix"; }; treefmtEval = treefmt-nix.lib.evalModule pkgs treefmt; From fe8a2ec2d16a6ba3dcb1630fa947e75f60db668b Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:31:54 -0500 Subject: [PATCH 03/22] Enable fish_indent --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 8f18366..b47f101 100644 --- a/flake.nix +++ b/flake.nix @@ -40,6 +40,7 @@ programs = { actionlint.enable = true; deadnix.enable = true; + fish_indent.enable = true; jsonfmt.enable = true; just.enable = true; nixfmt.enable = true; From bb293ee2a8e717ac5e1ab94e0303f5d47bc06e58 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:40:04 -0500 Subject: [PATCH 04/22] Use the Nix IDE VSCode extension --- .vscode/extensions.json | 3 ++- .vscode/settings.json | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c7cecc9..6ed7eb4 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "bbenoist.nix", "thenuprojectcontributors.vscode-nushell-lang", "nefrob.vscode-just-syntax", - "tekumara.typos-vscode" + "tekumara.typos-vscode", + "jnoortheen.nix-ide" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 073d68d..a45313e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,5 @@ { - "files.associations": { - "*.html": "liquid" - }, + "asciidoc.antora.enableAntoraSupport": false, "cSpell.words": [ "accountsservices", "adoc", @@ -282,5 +280,9 @@ "zstd", "ZSYS" ], - "asciidoc.antora.enableAntoraSupport": false + "files.associations": { + "*.html": "liquid" + }, + "nix.enableLanguageServer": true, + "nix.serverPath": "nil" } From 0dc34e0559a6d259ebcdd971daa1da269845d52b Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:41:47 -0500 Subject: [PATCH 05/22] Enable statix --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index b47f101..477b3b2 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ just.enable = true; nixfmt.enable = true; prettier.enable = true; + statix.enable = true; typos.enable = true; yamlfmt.enable = true; }; From f96c00affb068a522044a8b974c79a826fcbcfd2 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 07:44:11 -0500 Subject: [PATCH 06/22] Enable Nil --- flake.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 477b3b2..7c46d3d 100644 --- a/flake.nix +++ b/flake.nix @@ -33,9 +33,10 @@ gems gems.wrappedRuby just + nil nushell ]; - buildInputs = with pkgs; [ ]; + buildInputs = [ ]; treefmt.config = { programs = { actionlint.enable = true; @@ -85,6 +86,7 @@ # todo Broken for 24.05 branch # flake-checker.enable = true; mixed-line-endings.enable = true; + nil.enable = true; strip-location-metadata = { name = "Strip location metadata"; @@ -107,7 +109,7 @@ let script = pkgs.writeShellApplication { name = "serve"; - runtimeInputs = with pkgs; [ + runtimeInputs = [ gems gems.wrappedRuby ]; From 1b945782b1347b164ceda484f843287655508158 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 08:04:37 -0500 Subject: [PATCH 07/22] Enable more pre-commit checks --- .github/workflows/flake-lock-updater.yaml | 2 +- .yamllint.yaml | 2 ++ flake.nix | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flake-lock-updater.yaml b/.github/workflows/flake-lock-updater.yaml index 694b9e8..0db8c5c 100644 --- a/.github/workflows/flake-lock-updater.yaml +++ b/.github/workflows/flake-lock-updater.yaml @@ -3,7 +3,7 @@ name: Flake ❄️ Lock 🔒️ Updater ✨ "on": schedule: # Pi o'clock - - cron: '3 14 * * 1,5' + - cron: "3 14 * * 1,5" workflow_dispatch: jobs: diff --git a/.yamllint.yaml b/.yamllint.yaml index 38c68ba..8658d92 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -3,3 +3,5 @@ extends: default rules: document-start: disable line-length: disable + comments: + min-spaces-from-content: 1 diff --git a/flake.nix b/flake.nix index 7c46d3d..2dc2d6a 100644 --- a/flake.nix +++ b/flake.nix @@ -68,6 +68,8 @@ pre-commit = pre-commit-hooks.lib.${system}.run { src = ./.; hooks = { + check-added-large-files.enable = true; + check-case-conflicts.enable = true; check-executables-have-shebangs.enable = true; # todo Not integrated with Nix? @@ -77,12 +79,18 @@ }; check-json.enable = true; + check-shebang-scripts-are-executable.enable = true; + check-symlinks.enable = true; check-toml.enable = true; check-yaml.enable = true; detect-private-keys.enable = true; editorconfig-checker.enable = true; end-of-file-fixer.enable = true; fix-byte-order-marker.enable = true; + forbid-new-submodules.enable = true; + # todo Enable lychee when asciidoc is supported. + # See https://github.com/lycheeverse/lychee/issues/291 + # lychee.enable = true; # todo Broken for 24.05 branch # flake-checker.enable = true; mixed-line-endings.enable = true; From e8663e53e1eab26c1d4a43eedfeb5b6ac59005a0 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 08:40:03 -0500 Subject: [PATCH 08/22] Find broken links with lychee --- .github/workflows/link-checker.yaml | 32 +++++++++++++++++++ .gitignore | 3 ++ .justfile | 11 ++++--- _config.yml | 4 +-- ...ncrypted Volume as a Regular Old User.adoc | 2 +- _drafts/Backup User Snapper Snapshots.adoc | 2 +- _pages/about.adoc | 6 ++-- _posts/2020-03-28-DNSSEC With Unbound.adoc | 4 +-- ... Detect and Report Hard Drive Failure.adoc | 2 +- ...06-30-Install ZFS on the Pinebook Pro.adoc | 6 ++-- ... Storage on the Pinebook Pro With ZFS.adoc | 2 +- ...-09-04-Update U-Boot on the PinePhone.adoc | 2 +- ...e Ubuntu MATE on macOS With Multipass.adoc | 4 +-- _posts/2020-09-19-Password-Less Sudo.adoc | 2 +- _posts/2020-09-22-Configure ZSH.adoc | 4 +-- _posts/2020-10-01-Change Your Shell.adoc | 4 +-- _posts/2020-10-03-Switch to fish.adoc | 8 ++--- ...-10-11-Pagers and Syntax Highlighting.adoc | 2 +- ... CentOS 7 VM Using QEMU, LVM, and XFS.adoc | 2 +- ...-28-Build GCC From Source on CentOS 7.adoc | 2 +- _posts/2020-10-29-Fresh fish on CentOS 7.adoc | 4 +-- ...9-Install Git From Source on CentOS 7.adoc | 2 +- ...2020-11-01-Manage Python Dependencies.adoc | 4 +-- _posts/2021-02-11-Btrfs Swapfile.adoc | 4 +-- _posts/2021-02-22-Adjust Mount Options.adoc | 2 +- ...-22-Encrypt an External Disk on Linux.adoc | 2 +- ...021-02-23-Install udisks2 From Source.adoc | 2 +- ...ckup Snapper Snapshots With snap-sync.adoc | 2 +- ...-Install libvirt on elementary OS 5.1.adoc | 6 ++-- _posts/2021-03-04-GNOME Boxes on Btrfs.adoc | 6 ++-- ...ker Compose to Kubernetes With Podman.adoc | 12 +++---- ...utomatically Update Podman Containers.adoc | 6 ++-- ...-18-A Podman Pod as a systemd Service.adoc | 10 +++--- flake.nix | 2 ++ lychee.toml | 10 ++++++ 35 files changed, 113 insertions(+), 65 deletions(-) create mode 100644 .github/workflows/link-checker.yaml create mode 100644 lychee.toml diff --git a/.github/workflows/link-checker.yaml b/.github/workflows/link-checker.yaml new file mode 100644 index 0000000..e2d1cce --- /dev/null +++ b/.github/workflows/link-checker.yaml @@ -0,0 +1,32 @@ +name: Check URLs with Lychee + +"on": + pull_request: + branches: [main] + push: + branches: [main] + schedule: + # Run once a month on the 14th. + - cron: "0 0 14 * *" + workflow_dispatch: + +jobs: + link-checker: + runs-on: ubuntu-latest + steps: + - name: Restore lychee cache + uses: actions/cache@v4 + with: + path: .lycheecache + key: cache-lychee-${{ github.sha }} + restore-keys: cache-lychee- + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@v14 + - uses: DeterminateSystems/magic-nix-cache-action@v8 + # todo Cache bundler stuff? + - name: Build with Jekyll + run: nix build + - name: Run lychee on the generated site + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: nix develop --command lychee --cache --no-progress --verbose result/srv/ diff --git a/.gitignore b/.gitignore index d0cf0ee..d644551 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,6 @@ result # git-hooks.nix /.pre-commit-config.yaml + +# lychee +.lycheecache diff --git a/.justfile b/.justfile index e923eab..6841cbd 100644 --- a/.justfile +++ b/.justfile @@ -1,16 +1,17 @@ default: serve +alias c := check + +check: build + yamllint . + lychee --cache _site/ + alias f := format alias fmt := format format: treefmt -alias l := lint - -lint: - yamllint . - alias b := build build: diff --git a/_config.yml b/_config.yml index 4a9acab..4990d5e 100644 --- a/_config.yml +++ b/_config.yml @@ -32,8 +32,7 @@ name: >- Jordan Williams
Creative Commons License -
JWillikers by +
JWillikers by Jordan Williams is licensed under a @@ -174,6 +173,7 @@ exclude: - Gemfile.lock - gemset.nix - Rakefile + - result/ - vendor/bundle/ - vendor/cache/ - vendor/gems/ diff --git a/_drafts/Automount an Encrypted Volume as a Regular Old User.adoc b/_drafts/Automount an Encrypted Volume as a Regular Old User.adoc index 7b95cca..bef57fe 100644 --- a/_drafts/Automount an Encrypted Volume as a Regular Old User.adoc +++ b/_drafts/Automount an Encrypted Volume as a Regular Old User.adoc @@ -2,7 +2,7 @@ :page-layout: :page-category: Data Storage :page-tags: [automount, Btrfs, Cryptsetup, elementary, encryption, GIO, Linux, mount, systemd, Ubuntu, udev, udevil, udisks2] -:Bash: https://www.gnu.org/software/bash/[Bash] +:Bash: https://tiswww.case.edu/php/chet/bash/bashtop.html[Bash] :Btrfs: https://btrfs.wiki.kernel.org/index.php/Main_Page[Btrfs] :Cryptsetup: https://gitlab.com/cryptsetup/cryptsetup[Cryptsetup] :elementary-OS: https://elementary.io/[elementary OS] diff --git a/_drafts/Backup User Snapper Snapshots.adoc b/_drafts/Backup User Snapper Snapshots.adoc index 569f584..1b4e48c 100644 --- a/_drafts/Backup User Snapper Snapshots.adoc +++ b/_drafts/Backup User Snapper Snapshots.adoc @@ -3,7 +3,7 @@ :page-category: Data Storage :page-tags: [backups, Btrbk, Btrfs, elementary, Linux, snap-sync, Snapper, snapshots, Ubuntu] :arch-wiki-snapper-change-frequencies: https://wiki.archlinux.org/index.php/snapper#Change_snapshot_and_cleanup_frequencies[Change snapshot and cleanup frequencies] -:bash: https://www.gnu.org/software/bash/[Bash] +:bash: https://tiswww.case.edu/php/chet/bash/bashtop.html[Bash] :btrbk: https://github.com/digint/btrbk[Btrbk] :btrfs: https://btrfs.wiki.kernel.org/index.php/Main_Page[Btrfs] :btrfs-maintenance-toolbox: https://github.com/kdave/btrfsmaintenance[Btrfs maintenance toolbox] diff --git a/_pages/about.adoc b/_pages/about.adoc index 7d483f3..9394ae2 100644 --- a/_pages/about.adoc +++ b/_pages/about.adoc @@ -69,7 +69,7 @@ If you haven't figured it out yet, I'm big proponent of open-source software whe I enjoy collaborating with other developers to improve open-source software for everyone. * Desktop Linux, namely https://ubuntu.com/download/desktop[Ubuntu] and https://www.gnome.org/[GNOME] -* Open-hardware mobile devices (and relevant software), such as the https://www.pine64.org/pinebook-pro/[Pinebook Pro], https://www.pine64.org/pinephone/[PinePhone], and https://www.pine64.org/pinetab/[PineTab] developed by https://www.pine64.org/[Pine64] +* Open-hardware mobile devices (and relevant software), such as the https://pine64.org/devices/pinebook_pro/[Pinebook Pro], https://www.pine64.org/pinephone/[PinePhone], and https://pine64.org/devices/pinetab/[PineTab] developed by https://www.pine64.org/[Pine64] * Safe, simple, and easy-to-use programming languages like https://www.rust-lang.org/[Rust] and https://golang.org/[Go] * https://www.openbsd.org/[OpenBSD] * https://www.freebsd.org/[FreeBSD] @@ -103,7 +103,7 @@ Operating Systems:: Languages:: * https://asciidoctor.org/[Asciidoctor] * https://www.gnu.org/software/gawk/manual/gawk.html[awk] -* https://www.gnu.org/software/bash/[Bash] +* https://tiswww.case.edu/php/chet/bash/bashtop.html[Bash] * http://www.open-std.org/jtc1/sc22/wg14/[C] * https://isocpp.org/[{cpp}] (Standards including 98, 11, 14, 17, 20) * https://fishshell.com/[fish] @@ -211,7 +211,7 @@ System Utilities:: * https://www.sudo.ws/[Sudo] Filesystems:: -* https://openzfs.org/wiki/Main_Pag[OpenZFS] +* https://openzfs.org/wiki/Main_Page[OpenZFS] Services:: * https://nextcloud.com/[Nextcloud] diff --git a/_posts/2020-03-28-DNSSEC With Unbound.adoc b/_posts/2020-03-28-DNSSEC With Unbound.adoc index da44a06..1da449b 100644 --- a/_posts/2020-03-28-DNSSEC With Unbound.adoc +++ b/_posts/2020-03-28-DNSSEC With Unbound.adoc @@ -9,7 +9,7 @@ Using this http://www.lonecpluspluscoder.com/2020/01/16/building-an-openbsd-wire == Unbound Configuration -Use the https://man.openbsd.org/ftp.1[ftp] command to download the https://wiki.archlinux.org/index.php/unbound#Root_hints[Root Hints]. +Use the https://man.openbsd.org/ftp.1[ftp] command to download the https://wiki.archlinux.org/title/unbound#Root_hints[Root Hints]. [,sh] ---- @@ -69,7 +69,7 @@ rcctl restart unbound Verify that DNSSEC is working with the https://man.openbsd.org/OpenBSD-6.6/dig[dig] command from a computer using your unbound server. This website, `jwillikers.com`, has DNSSEC enabled and so makes for a good address to test. -Cloudflare provides a nice write-up about using dig to verify DNSSEC https://support.cloudflare.com/hc/en-us/articles/360021111972-Troubleshooting-DNSSEC#TroubleshootingDNSSEC-DNSSECinPracticewithDig[here]. +Cloudflare provides a nice write-up about using dig to verify DNSSEC https://developers.cloudflare.com/dns/dnssec/troubleshooting/#TroubleshootingDNSSEC-DNSSECinPracticewithDig[here]. [,sh] ---- diff --git a/_posts/2020-05-25-Automatically Detect and Report Hard Drive Failure.adoc b/_posts/2020-05-25-Automatically Detect and Report Hard Drive Failure.adoc index ae75378..4a9b843 100644 --- a/_posts/2020-05-25-Automatically Detect and Report Hard Drive Failure.adoc +++ b/_posts/2020-05-25-Automatically Detect and Report Hard Drive Failure.adoc @@ -14,7 +14,7 @@ SmartMonTools is even cross-platform and available in package repositories every == Tutorial This tutorial describes the steps required to setup automated hard disk health checks and email notifications using SmartMonTools 7.1 on Ubuntu 20.04. -If you're configuring a desktop like me or otherwise configuring a system which doesn't have a https://en.wikipedia.org/wiki/Message_transfer_agent[MTA (Mail Transport Agent)] or https://en.wikipedia.org/wiki/Email_client[MUA (Mail User Agent)] setup already and wish to send emails externally, I recommend following my tutorial on setting up an <>. +If you're configuring a desktop like me or otherwise configuring a system which doesn't have a https://en.wikipedia.org/wiki/Message_transfer_agent[MTA (Mail Transport Agent)] or https://en.wikipedia.org/wiki/Email_client[MUA (Mail User Agent)] setup already and wish to send emails externally, I recommend following my tutorial on setting up an <>. Emails sent straight from a willy-nilly desktop user account to an online email provider are unlikely to be accepted. With https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol[SMTP], your system can relay emails through your online email provider to remedy this. diff --git a/_posts/2020-06-30-Install ZFS on the Pinebook Pro.adoc b/_posts/2020-06-30-Install ZFS on the Pinebook Pro.adoc index 898b5b2..9cfe88d 100644 --- a/_posts/2020-06-30-Install ZFS on the Pinebook Pro.adoc +++ b/_posts/2020-06-30-Install ZFS on the Pinebook Pro.adoc @@ -32,11 +32,11 @@ $ sudo pacman -S dkms linux-pinebookpro-headers $ sudo pacman -S yay ---- -. Then, install the https://aur.archlinux.org/packages/zfs-dkms-any/[zfs-dkms-any] package from the AUR. +. Then, install the https://aur.archlinux.org/packages/zfs-dkms[zfs-dkms] package from the AUR. + [,sh] ---- -$ yay -S zfs-dkms-any +$ yay -S zfs-dkms ---- === Configure @@ -64,4 +64,4 @@ $ sudo systemctl enable zfs.target === Next Steps -See <> to learn how to use ZFS to store your files on a microSD card. +See <> to learn how to use ZFS to store your files on a microSD card. diff --git a/_posts/2020-07-03-External Storage on the Pinebook Pro With ZFS.adoc b/_posts/2020-07-03-External Storage on the Pinebook Pro With ZFS.adoc index 862ef24..5830ec9 100644 --- a/_posts/2020-07-03-External Storage on the Pinebook Pro With ZFS.adoc +++ b/_posts/2020-07-03-External Storage on the Pinebook Pro With ZFS.adoc @@ -12,7 +12,7 @@ And now you're just dying to use ZFS on that, right? == Tutorial -Following the previous post, <>, this tutorial describes the steps required to setup a microSD card for your music files with ZFS on the Pinebook Pro. +Following the previous post, <>, this tutorial describes the steps required to setup a microSD card for your music files with ZFS on the Pinebook Pro. === Create the Pool diff --git a/_posts/2020-09-04-Update U-Boot on the PinePhone.adoc b/_posts/2020-09-04-Update U-Boot on the PinePhone.adoc index 5029f01..c89ef81 100644 --- a/_posts/2020-09-04-Update U-Boot on the PinePhone.adoc +++ b/_posts/2020-09-04-Update U-Boot on the PinePhone.adoc @@ -4,7 +4,7 @@ :page-tags: [ArchLinux, Boot, Linux, Manjaro, PinePhone, UBoot] As I big fan of https://www.gnome.org/[GNOME], I really wanted a similar experience on the https://www.pine64.org/pinephone/[PinePhone]. -That's why I opted for running https://osdn.net/projects/manjaro-arm/[Manjaro ARM]'s alpha for the PinePhone, which comes in a GNOME-like https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html[Phosh] flavor. +That's why I opted for running https://wiki.manjaro.org/index.php/Manjaro-ARM[Manjaro ARM]'s alpha for the PinePhone, which comes in a GNOME-like https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html[Phosh] flavor. It's been running from the SD card great so far, but I thought to update the internal https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinephone-crust[U-Boot] as <>. == Tutorial diff --git a/_posts/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass.adoc b/_posts/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass.adoc index 22a98b3..c4f7d42 100644 --- a/_posts/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass.adoc +++ b/_posts/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass/2020-09-13-Easily Virtualize Ubuntu MATE on macOS With Multipass.adoc @@ -13,11 +13,11 @@ While I was working on my recent post < Date: Thu, 10 Oct 2024 10:39:11 -0500 Subject: [PATCH 09/22] Add linkspector CI action --- .github/workflows/linkspector.yaml | 16 ++++++++++++++++ .linkspector.yml | 8 ++++++++ 2 files changed, 24 insertions(+) create mode 100644 .github/workflows/linkspector.yaml create mode 100644 .linkspector.yml diff --git a/.github/workflows/linkspector.yaml b/.github/workflows/linkspector.yaml new file mode 100644 index 0000000..7302fa8 --- /dev/null +++ b/.github/workflows/linkspector.yaml @@ -0,0 +1,16 @@ +name: Linkspector +"on": + pull_request: + branches: [main] +jobs: + linkspector: + name: linkspector + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run linkspector + uses: umbrelladocs/action-linkspector@v1 + with: + github_token: ${{ secrets.github_token }} + reporter: github-pr-review + fail_on_error: true diff --git a/.linkspector.yml b/.linkspector.yml new file mode 100644 index 0000000..5d2d310 --- /dev/null +++ b/.linkspector.yml @@ -0,0 +1,8 @@ +dirs: + - . +fileExtensions: + - adoc +ignorePatterns: + - pattern: "^https://127.0.0.1:8443" + - pattern: "^(ftp)://[^\\s/$?#]*\\.[^\\s]*$" +useGitIgnore: true From 8a382574b07efc8b518d6f1ba3442b2118d5141f Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:04:06 -0500 Subject: [PATCH 10/22] Add awesome_bot --- Gemfile | 1 + flake.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/Gemfile b/Gemfile index 85cda4d..2b491c9 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,6 @@ source 'https://rubygems.org' +gem 'awesome_bot' gem 'coderay' gem 'kramdown', '>= 2.3.0' gem 'jekyll' diff --git a/flake.nix b/flake.nix index d845e7a..3e7021a 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ extraConfigPaths = [ "${./.}/.ruby-version" ]; }; nativeBuildInputs = with pkgs; [ + bundix fish gems gems.wrappedRuby From dcd59a6b6767d027c68354c69345759612fa96f9 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:04:17 -0500 Subject: [PATCH 11/22] Revert "Add linkspector CI action" This reverts commit bf379624d5284201c027b29c5a512281a3287551. --- .github/workflows/linkspector.yaml | 16 ---------------- .linkspector.yml | 8 -------- 2 files changed, 24 deletions(-) delete mode 100644 .github/workflows/linkspector.yaml delete mode 100644 .linkspector.yml diff --git a/.github/workflows/linkspector.yaml b/.github/workflows/linkspector.yaml deleted file mode 100644 index 7302fa8..0000000 --- a/.github/workflows/linkspector.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: Linkspector -"on": - pull_request: - branches: [main] -jobs: - linkspector: - name: linkspector - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Run linkspector - uses: umbrelladocs/action-linkspector@v1 - with: - github_token: ${{ secrets.github_token }} - reporter: github-pr-review - fail_on_error: true diff --git a/.linkspector.yml b/.linkspector.yml deleted file mode 100644 index 5d2d310..0000000 --- a/.linkspector.yml +++ /dev/null @@ -1,8 +0,0 @@ -dirs: - - . -fileExtensions: - - adoc -ignorePatterns: - - pattern: "^https://127.0.0.1:8443" - - pattern: "^(ftp)://[^\\s/$?#]*\\.[^\\s]*$" -useGitIgnore: true From 6dd9cc9c4f1f8c308a2a9b39a499c413f7b1d577 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:25:17 -0500 Subject: [PATCH 12/22] Pass the --magic command to bundix for things to work --- .bundle/config | 2 ++ .github/workflows/bundler-update.yaml | 2 +- .justfile | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.bundle/config b/.bundle/config index f154eb2..c3ee1fe 100644 --- a/.bundle/config +++ b/.bundle/config @@ -1,2 +1,4 @@ --- BUNDLE_FORCE_RUBY_PLATFORM: "true" +BUNDLE_PATH: "vendor/bundle" +BUNDLE_CACHE_ALL: "true" diff --git a/.github/workflows/bundler-update.yaml b/.github/workflows/bundler-update.yaml index ea00d27..c659169 100644 --- a/.github/workflows/bundler-update.yaml +++ b/.github/workflows/bundler-update.yaml @@ -20,7 +20,7 @@ jobs: - name: Update Gem lock file run: nix develop --command bundle update - name: Update the hashes in the gemset.nix file - run: nix develop --command bundix + run: nix develop --command bundix --magic - name: Create Pull Request uses: peter-evans/create-pull-request@v7 with: diff --git a/.justfile b/.justfile index 6841cbd..5d9abd1 100644 --- a/.justfile +++ b/.justfile @@ -35,5 +35,5 @@ update: && build test nu update-nixos-release.nu nix flake update bundle update - bundix + bundix --magic nu update-nix-direnv.nu From 52b72cc905487e2af0c72fcf5081dd30903bd4d5 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:27:09 -0500 Subject: [PATCH 13/22] Use bundix --lock instead of --magic --- .bundle/config | 2 -- .github/workflows/bundler-update.yaml | 2 +- .justfile | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.bundle/config b/.bundle/config index c3ee1fe..f154eb2 100644 --- a/.bundle/config +++ b/.bundle/config @@ -1,4 +1,2 @@ --- BUNDLE_FORCE_RUBY_PLATFORM: "true" -BUNDLE_PATH: "vendor/bundle" -BUNDLE_CACHE_ALL: "true" diff --git a/.github/workflows/bundler-update.yaml b/.github/workflows/bundler-update.yaml index c659169..24c5bc1 100644 --- a/.github/workflows/bundler-update.yaml +++ b/.github/workflows/bundler-update.yaml @@ -20,7 +20,7 @@ jobs: - name: Update Gem lock file run: nix develop --command bundle update - name: Update the hashes in the gemset.nix file - run: nix develop --command bundix --magic + run: nix develop --command bundix --lock - name: Create Pull Request uses: peter-evans/create-pull-request@v7 with: diff --git a/.justfile b/.justfile index 5d9abd1..7b68d50 100644 --- a/.justfile +++ b/.justfile @@ -35,5 +35,5 @@ update: && build test nu update-nixos-release.nu nix flake update bundle update - bundix --magic + bundix --lock nu update-nix-direnv.nu From cb19a8ae390daaca72f9622b876bc6b311d9b74a Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:27:30 -0500 Subject: [PATCH 14/22] Use awesome_bot --- .justfile | 1 + Gemfile.lock | 4 ++++ gemset.nix | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/.justfile b/.justfile index 7b68d50..11364a2 100644 --- a/.justfile +++ b/.justfile @@ -4,6 +4,7 @@ alias c := check check: build yamllint . + awesome_bot **/*.adoc lychee --cache _site/ alias f := format diff --git a/Gemfile.lock b/Gemfile.lock index 426170e..668cac8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,6 +4,8 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) asciidoctor (2.0.23) + awesome_bot (1.20.0) + parallel (= 1.20.1) bigdecimal (3.1.8) coderay (1.1.3) colorator (1.1.0) @@ -89,6 +91,7 @@ GEM octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) + parallel (1.20.1) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.1) @@ -115,6 +118,7 @@ PLATFORMS ruby DEPENDENCIES + awesome_bot coderay jekyll jekyll-archives diff --git a/gemset.nix b/gemset.nix index da5feec..5528798 100644 --- a/gemset.nix +++ b/gemset.nix @@ -26,6 +26,17 @@ }; version = "2.0.23"; }; + awesome_bot = { + dependencies = [ "parallel" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cslx0gsqv98laqg5qq9a7v3gq8zckbpfv2a0cnbmw46mpidg5cp"; + type = "gem"; + }; + version = "1.20.0"; + }; bigdecimal = { groups = [ "default" @@ -505,6 +516,16 @@ }; version = "4.25.1"; }; + parallel = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd"; + type = "gem"; + }; + version = "1.20.1"; + }; pathutil = { dependencies = [ "forwardable-extended" ]; groups = [ From feb2ec9f01fb9505fa760b8023c995c262a2154a Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:27:34 -0500 Subject: [PATCH 15/22] Fix some links --- CODE_OF_CONDUCT.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CODE_OF_CONDUCT.adoc b/CODE_OF_CONDUCT.adoc index 28a180a..18590a7 100644 --- a/CODE_OF_CONDUCT.adoc +++ b/CODE_OF_CONDUCT.adoc @@ -75,11 +75,11 @@ Violating these terms may lead to a permanent ban. == Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct/. -Community Impact Guidelines were inspired by https://github.com/mozilla/diversity[Mozilla's code of conduct enforcement ladder]. +Community Impact Guidelines were inspired by https://github.com/mozilla/inclusion[Mozilla's code of conduct enforcement ladder]. [homepage]: https://www.contributor-covenant.org -For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. -Translations are available at https://www.contributor-covenant.org/translations. +For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq/. +Translations are available at https://www.contributor-covenant.org/translations/. From 2f6167b69669752f76163a8cccff8c5398a3868d Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:27:39 -0500 Subject: [PATCH 16/22] Revert "Use awesome_bot" This reverts commit cb19a8ae390daaca72f9622b876bc6b311d9b74a. --- .justfile | 1 - Gemfile.lock | 4 ---- gemset.nix | 21 --------------------- 3 files changed, 26 deletions(-) diff --git a/.justfile b/.justfile index 11364a2..7b68d50 100644 --- a/.justfile +++ b/.justfile @@ -4,7 +4,6 @@ alias c := check check: build yamllint . - awesome_bot **/*.adoc lychee --cache _site/ alias f := format diff --git a/Gemfile.lock b/Gemfile.lock index 668cac8..426170e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,8 +4,6 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) asciidoctor (2.0.23) - awesome_bot (1.20.0) - parallel (= 1.20.1) bigdecimal (3.1.8) coderay (1.1.3) colorator (1.1.0) @@ -91,7 +89,6 @@ GEM octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) - parallel (1.20.1) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.1) @@ -118,7 +115,6 @@ PLATFORMS ruby DEPENDENCIES - awesome_bot coderay jekyll jekyll-archives diff --git a/gemset.nix b/gemset.nix index 5528798..da5feec 100644 --- a/gemset.nix +++ b/gemset.nix @@ -26,17 +26,6 @@ }; version = "2.0.23"; }; - awesome_bot = { - dependencies = [ "parallel" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1cslx0gsqv98laqg5qq9a7v3gq8zckbpfv2a0cnbmw46mpidg5cp"; - type = "gem"; - }; - version = "1.20.0"; - }; bigdecimal = { groups = [ "default" @@ -516,16 +505,6 @@ }; version = "4.25.1"; }; - parallel = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd"; - type = "gem"; - }; - version = "1.20.1"; - }; pathutil = { dependencies = [ "forwardable-extended" ]; groups = [ From cef5e97dc59ae6e8d8dba54623725da1ad59e7ec Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:45:31 -0500 Subject: [PATCH 17/22] Don't override the shellHook --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 3e7021a..2a00828 100644 --- a/flake.nix +++ b/flake.nix @@ -136,7 +136,6 @@ }; devShells.default = mkShell { inherit buildInputs; - inherit (pre-commit) shellHook; nativeBuildInputs = nativeBuildInputs ++ [ @@ -145,6 +144,7 @@ (lib.attrValues treefmtEval.config.build.programs) ] ++ pre-commit.enabledPackages; + postShellHook = pre-commit.shellHook; }; packages.default = callPackage ./default.nix { inherit gems; }; formatter = treefmtEval.config.build.wrapper; From 2359c9c3afabf6986ef5bf4f00b460cba9334ab6 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:46:39 -0500 Subject: [PATCH 18/22] Verify links in the README files --- .github/workflows/link-checker.yaml | 4 +++- .gitignore | 5 +++++ .justfile | 3 ++- LICENSE.adoc | 6 +++--- flake.nix | 1 + 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/link-checker.yaml b/.github/workflows/link-checker.yaml index e2d1cce..0b68c3e 100644 --- a/.github/workflows/link-checker.yaml +++ b/.github/workflows/link-checker.yaml @@ -26,7 +26,9 @@ jobs: # todo Cache bundler stuff? - name: Build with Jekyll run: nix build + - name: Convert the README files to html + run: nix develop --command asciidoctor {CODE_OF_CONDUCT,LICENSE,README}.adoc - name: Run lychee on the generated site env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: nix develop --command lychee --cache --no-progress --verbose result/srv/ + run: nix develop --command lychee --cache --no-progress --verbose result/srv/ ./*.html diff --git a/.gitignore b/.gitignore index d644551..3f20b22 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,8 @@ result # lychee .lycheecache + +# Asciidoctor +CODE_OF_CONDUCT.html +LICENSE.html +README.html diff --git a/.justfile b/.justfile index 7b68d50..aec2016 100644 --- a/.justfile +++ b/.justfile @@ -4,7 +4,8 @@ alias c := check check: build yamllint . - lychee --cache _site/ + asciidoctor {CODE_OF_CONDUCT,LICENSE,README}.adoc + lychee --cache _site/ *.html alias f := format alias fmt := format diff --git a/LICENSE.adoc b/LICENSE.adoc index f58ff0b..74accaf 100644 --- a/LICENSE.adoc +++ b/LICENSE.adoc @@ -1,7 +1,7 @@ = GNU General Public License _Version 3, 29 June 2007_ -_Copyright © 2007 Free Software Foundation, Inc. <>_ +_Copyright © 2007 Free Software Foundation, Inc. _ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -584,11 +584,11 @@ for a GUI interface, you would use an “about box”. You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see -<>. +. The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -<>. +. diff --git a/flake.nix b/flake.nix index 2a00828..013a010 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ extraConfigPaths = [ "${./.}/.ruby-version" ]; }; nativeBuildInputs = with pkgs; [ + asciidoctor bundix fish gems From 98b1c0898c2fd6074a4df378b65a931581f7d0b7 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:53:04 -0500 Subject: [PATCH 19/22] Remove awesome_bot --- Gemfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Gemfile b/Gemfile index 2b491c9..85cda4d 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,5 @@ source 'https://rubygems.org' -gem 'awesome_bot' gem 'coderay' gem 'kramdown', '>= 2.3.0' gem 'jekyll' From 905bed74340dab916f170e0aaa590f078eb0d026 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:53:28 -0500 Subject: [PATCH 20/22] Update webrick --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 85cda4d..a5d3dd9 100644 --- a/Gemfile +++ b/Gemfile @@ -18,4 +18,4 @@ group :jekyll_plugins do gem 'jekyll-include-cache' end -gem "webrick", "~> 1.7" +gem "webrick" diff --git a/Gemfile.lock b/Gemfile.lock index 426170e..76ffc82 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -128,7 +128,7 @@ DEPENDENCIES kramdown (>= 2.3.0) minimal-mistakes-jekyll rouge - webrick (~> 1.7) + webrick BUNDLED WITH - 2.5.16 + 2.5.9 From 8cc2a769e849ef2ac606ab28fbe24e2ef391338e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:57:33 -0500 Subject: [PATCH 21/22] Fix link --- README.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.adoc b/README.adoc index 90989b7..a442241 100644 --- a/README.adoc +++ b/README.adoc @@ -148,7 +148,7 @@ Several of these projects are enumerated below. * https://jekyllrb.com/[Jekyll] * https://github.com/asciidoctor/jekyll-asciidoc[jekyll-asciidoc] * https://mmistakes.github.io/minimal-mistakes/[Minimal Mistakes] -* https://rouge.jneen.net/[Rouge] +* https://rouge.jneen.net[Rouge] * https://www.ruby-lang.org/en/[Ruby] == Code of Conduct From f0acbafe71e474ff186f0c5be03306e37c08789b Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 10 Oct 2024 11:58:10 -0500 Subject: [PATCH 22/22] Fix link --- _posts/2020-12-11-Create a Windows 10 USB on Ubuntu.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2020-12-11-Create a Windows 10 USB on Ubuntu.adoc b/_posts/2020-12-11-Create a Windows 10 USB on Ubuntu.adoc index a64c36e..71dc664 100644 --- a/_posts/2020-12-11-Create a Windows 10 USB on Ubuntu.adoc +++ b/_posts/2020-12-11-Create a Windows 10 USB on Ubuntu.adoc @@ -5,7 +5,7 @@ :cgdisk: https://manpages.ubuntu.com/manpages/focal/en/man8/cgdisk.8.html[cgdisk(8)] :create-a-bootable-windows-10-usb-drive-in-linux: https://linuxhint.com/create-a-bootable-windows-10-usb-drive-in-linux/[How to Create a Bootable Windows 10 USB Drive in Linux] :fdisk: https://manpages.ubuntu.com/manpages/focal/en/man8/fdisk.8.html[fdisk(8)] -:Fedora: https://start.fedoraproject.org/[Fedora] +:Fedora: https://fedoraproject.org/start[Fedora] :gdisk: https://manpages.ubuntu.com/manpages/focal/en/man8/gdisk.8.html[gdisk(8)] :GNOME: https://www.gnome.org/[GNOME] :gnome-disk-image-mounter: https://manpages.ubuntu.com/manpages/focal/en/man1/gnome-disk-image-mounter.1.html[gnome-disk-image-mounter(1)]