commit 0b09092667a44fd941c50fe91b688863fedd92e1 Author: Daniel Flanagan Date: Thu Jun 6 12:23:34 2024 -0500 Initial commit diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2486a73 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# ignore `nix build` output +/result + +# ignore direnv cache stuff +/.direnv + +# ignore pre-commit hooks as installed by direnv +/.pre-commit-config.yaml diff --git a/.helix/languages.toml b/.helix/languages.toml new file mode 100644 index 0000000..55c2894 --- /dev/null +++ b/.helix/languages.toml @@ -0,0 +1,9 @@ +[[language]] +auto-format = true +file-types = ["nix"] +name = "nix" +scope = "source.nix" + +[language.formatter] +args = ["-"] +command = "alejandra" diff --git a/diagram.mmd b/diagram.mmd new file mode 100644 index 0000000..5475030 --- /dev/null +++ b/diagram.mmd @@ -0,0 +1,2 @@ +flowchart LR + H[Hello, World!] diff --git a/diagram.svg b/diagram.svg new file mode 100644 index 0000000..b7c7c50 --- /dev/null +++ b/diagram.svg @@ -0,0 +1 @@ +
Hello, World!
\ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..9eb1d34 --- /dev/null +++ b/flake.lock @@ -0,0 +1,100 @@ +{ + "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 0, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "path": "/nix/store/i1aw9jjgxcvyd642s12kw3iasmarwd42-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..7e55e50 --- /dev/null +++ b/flake.nix @@ -0,0 +1,50 @@ +{ + inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; + + outputs = { + self, + nixpkgs, + pre-commit-hooks, + ... + }: let + inherit (self) outputs; + + supportedSystems = [ + "aarch64-linux" + "x86_64-linux" + + "aarch64-darwin" + "x86_64-darwin" + ]; + + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + in { + formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); + + checks = forAllSystems (system: { + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + alejandra.enable = true; + }; + }; + }); + + devShell = forAllSystems (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in + pkgs.mkShell { + buildInputs = with pkgs; [nil alejandra nodePackages.mermaid-cli caddy python312Packages.livereload]; + inherit (outputs.checks.${system}.pre-commit-check) shellHook; + }); + + # packages = forAllSystems (system: import ./pkgs {pkgs = nixpkgs.legacyPackages.${system};}); + # overlays = import ./overlays self; + # nixosModules = import ./modules/nixos; + # homeManagerModules = import ./modules/home-manager; + # nixosConfigurations = import ./nixos; + # homeConfigurations = import ./home + # templates = import ./templates; + }; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..282fae9 --- /dev/null +++ b/index.html @@ -0,0 +1,3 @@ + + diff --git a/makefile b/makefile new file mode 100644 index 0000000..f5704c3 --- /dev/null +++ b/makefile @@ -0,0 +1,11 @@ +.PHONY: watch-mermaid-files +watch-mermaid-files: + watchexec -r -w . -f diagram.mmd 'mmdc -i diagram.mmd -o diagram.svg -t dark -b transparent && touch index.html' + +.PHONY: serve-files +serve-files: + echo "Make sure your browser is not caching!" + caddy file-server --listen :2266 + +livereload: livereload + livereload diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..7cd3e5d --- /dev/null +++ b/readme.md @@ -0,0 +1 @@ +All this because I want to use my own text editor to live edit mermaid diagrams...