Add initial project structure with Rust Nix flake template

- Create .envrc for Direnv configuration
- Add .pre-commit-config.yaml for pre-commit hooks
- Include CONTRIBUTING.md for contribution guidelines
- Initialize Cargo.toml for Rust package configuration
- Update LICENSE to link to full license text
- Create Makefile for build, run, test, and clean commands
- Revise README.md for project description and usage instructions
- Implement default Nix flake configuration in flake.nix
- Add Flatpak manifest for packaging
- Set up project metadata in project.toml
- Create shell.nix for legacy shell support
- Add skeletal Rust application in src/main.rs
- Include sample test in tests/sample_test.rs
This commit is contained in:
2026-05-23 09:28:40 -05:00
parent 05a6d388b6
commit 252348e592
15 changed files with 456 additions and 218 deletions
+29
View File
@@ -0,0 +1,29 @@
{ pkgs }:
let
lib = pkgs.lib;
templateName = builtins.baseNameOf (toString ./.);
in
{
${templateName} = pkgs.stdenvNoCC.mkDerivation {
pname = templateName;
version = "0.1.0";
src = ./.;
dontBuild = true;
installPhase = ''
mkdir -p $out/share/${templateName}
if [ -d src ]; then
cp -r src $out/share/${templateName}/
fi
for f in README.md project.toml flake.nix default.nix shell.nix Makefile .editorconfig .gitignore; do
if [ -f "$f" ]; then
cp "$f" $out/share/${templateName}/
fi
done
'';
meta = with lib; {
description = "Template project: ${templateName}";
license = licenses.unfreeRedistributable;
platforms = platforms.all;
};
};
}