···11+MIT No Attribution
22+33+Copyright <year> Sona Tau Estrada Rivera <sona@stau.space>
44+55+Permission is hereby granted, free of charge, to any person obtaining a copy of this
66+software and associated documentation files (the "Software"), to deal in the Software
77+without restriction, including without limitation the rights to use, copy, modify,
88+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
99+permit persons to whom the Software is furnished to do so.
1010+1111+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
1212+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
1313+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1414+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1515+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1616+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+12
README.md
···11+# C List
22+33+This is a header-only library for singly-linked lists, written in C.
44+55+## Usage
66+77+Include the header in your project and put:
88+```c
99+#define LIST_IMPLEMENTATION
1010+```
1111+When you want the function definitions to be included.
1212+
···11+{
22+ description = "Declarations for the environment that this project will use.";
33+44+ # Flake inputs
55+ inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1";
66+77+ # Flake outputs
88+ outputs = inputs:
99+ let
1010+ # The systems supported for this flake
1111+ supportedSystems = [
1212+ "x86_64-linux" # 64-bit Intel/AMD Linux
1313+ "aarch64-linux" # 64-bit ARM Linux
1414+ "x86_64-darwin" # 64-bit Intel macOS
1515+ "aarch64-darwin" # 64-bit ARM macOS
1616+ ];
1717+1818+ # Helper to provide system-specific attributes
1919+ forEachSupportedSystem = f: inputs.nixpkgs.lib.genAttrs supportedSystems (system: f {
2020+ pkgs = import inputs.nixpkgs { inherit system; };
2121+ });
2222+ in
2323+ {
2424+ devShells = forEachSupportedSystem ({ pkgs }: {
2525+ default = pkgs.mkShell {
2626+ # The Nix packages provided in the environment
2727+ # Add any you need here
2828+ packages = with pkgs; [
2929+ gcc
3030+ gnumake
3131+ ];
3232+3333+ # Set any environment variables for your dev shell
3434+ env = { };
3535+3636+ # Add any shell logic you want executed any time the environment is activated
3737+ shellHook = ''
3838+ '';
3939+ };
4040+ });
4141+ };
4242+}