about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2024-05-22 13:29:43 +0200
committerAlan Pearce2024-05-22 13:29:43 +0200
commit7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb (patch)
tree6dcc3961b319af53dc2df542aa0af309f05d1e88
parent53a00f3ac15f1d32693a4db1b32c5af583b68f6b (diff)
downloadsearchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.tar.lz
searchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.tar.zst
searchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.zip
docs: expand readme, move dev docs to subfolder
-rw-r--r--README.md59
-rw-r--r--docs/developing.md33
-rw-r--r--nix/pre-commit-checks.nix5
3 files changed, 74 insertions, 23 deletions
diff --git a/README.md b/README.md
index f5965e5..97f9f8b 100644
--- a/README.md
+++ b/README.md
@@ -1,35 +1,50 @@
 # Searchix
 
-## Development
+A search tool to find options and packages in the NixOS ecosystem. Aims to be like [search.nixos.org](https://search.nixos.org/) with more sources:
 
-### Pre-requisites
+-   NixOS options
+-   Nix packages
+-   [Nix darwin](https://github.com/LnL7/nix-darwin) options
+-   [Home manager](https://github.com/nix-community/home-manager) options.
 
--   [Nix (the package manager)](https://nixos.org/download/)
--   Optional:
-    -   [cachix](https://docs.cachix.org/installation#installation)
-    -   [lorri](https://github.com/nix-community/lorri)
-    -   [direnv](https://direnv.net/)
+There is an instance running at [searchix.alanpearce.eu](https://searchix.alanpearce.eu/), which uses the following channels, with updates attempted daily:
 
-### Setup
+-   nixos-options: nixos-unstable
+-   nixpkgs: nixos-unstable
+-   darwin: master
+-   home-manager: master
 
-1. Optional: use cachix to avoid building some tools
+You can also [run it yourself](./docs/running.md), if you're feeling bold. It's very light-weight!
 
-    ```shell-session
-    cachix use pre-commit-hooks
-    ```
+## Status
 
-2. Start a nix shell (this will take some time)
+**Alpha**
 
-    ```shell-session
-    nix develop
-    ```
+Expect breakage. Search results are not expected to match the quality of [search.nixos.org](https://search.nixos.org/), the priority is more on having multiple sources in one location.
 
-3. Optional: install and set up lorri and use `lorri shell` instead of `nix develop`
+Feel free to report bugs at [sourcehut](https://todo.sr.ht/~alanpearce/searchix) or open a discussion either on the [mailing list](https://lists.sr.ht/~alanpearce/searchix-discuss) or on [NixOS community forum](https://discourse.nixos.org/).
 
-4. Optional: install direnv, integrate it with your shell and then run
+## Motivation
 
-    ```shell-session
-    ln -s .envrc.sample .envrc
-    ```
+I missed having a tool like [search.nixos.org](https://search.nixos.org/) but for [nix darwin](https://github.com/LnL7/nix-darwin) and [home manager](https://github.com/nix-community/home-manager)[^1].
 
-    Now `nix develop` or `lorri shell` will be run for you automatically when you `cd` into this directory.
+I wanted to contribute something to the nix community. 🩵
+
+Also, I wanted to learn Go!
+
+## Goals
+
+-   Lean/simple
+-   Responsive (i.e. low latency)
+-   Minimal JavaScript for progressive enhancement
+-   Quickly switch between (options) sources with the same query
+
+### Future
+
+-   [ ] `programs.git.enable` should be in the first few results for the query "git"
+
+## Developing
+
+See [docs/developing.md](./docs/developing.md)
+
+[^1]: It was only during development that I found [Home Manager Option Search](https://home-manager-options.extranix.com/)
diff --git a/docs/developing.md b/docs/developing.md
new file mode 100644
index 0000000..e1d66a5
--- /dev/null
+++ b/docs/developing.md
@@ -0,0 +1,33 @@
+# Development
+
+### Pre-requisites
+
+-   [Nix (the package manager)](https://nixos.org/download/) with [flakes enabled](https://nixos.wiki/wiki/flakes#Enable_flakes_temporarily)
+-   Optional:
+    -   [cachix](https://docs.cachix.org/installation#installation)
+    -   [lorri](https://github.com/nix-community/lorri)
+    -   [direnv](https://direnv.net/)
+
+### Setup
+
+1. Optional: use cachix to avoid building some tools
+
+    ```shell-session
+    cachix use pre-commit-hooks
+    ```
+
+2. Start a nix shell (this will take some time)
+
+    ```shell-session
+    nix develop
+    ```
+
+3. Optional: install and set up lorri and use `lorri shell` instead of `nix develop`
+
+4. Optional: install direnv, integrate it with your shell and then run
+
+    ```shell-session
+    ln -s .envrc.sample .envrc
+    ```
+
+    Now `nix develop` or `lorri shell` will be run for you automatically when you `cd` into this directory.
diff --git a/nix/pre-commit-checks.nix b/nix/pre-commit-checks.nix
index a1612ef..10f8ae5 100644
--- a/nix/pre-commit-checks.nix
+++ b/nix/pre-commit-checks.nix
@@ -55,7 +55,10 @@ rec {
 
     check-case-conflicts.enable = true;
     check-symlinks.enable = true;
-    editorconfig-checker.enable = true;
+    editorconfig-checker = {
+      enable = true;
+      excludes = [ "\.md$" ];
+    };
     prettier = {
       enable = true;
       types_or = [ "plain-text" "yaml" "gotmpl" "javascript" ];