From 4834edd2d4e6719a0dd3486f196af9c67d839411 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Thu, 5 Jun 2025 08:27:20 +0200 Subject: [PATCH 1/2] templates: rust: init --- flake.nix | 2 ++ templates/default.nix | 6 ++++++ templates/rust/.envrc | 1 + templates/rust/Cargo.toml | 5 +++++ templates/rust/default.nix | 8 ++++++++ templates/rust/flake.nix | 35 +++++++++++++++++++++++++++++++++++ templates/rust/src/main.rs | 3 +++ 7 files changed, 60 insertions(+) create mode 100644 templates/default.nix create mode 100644 templates/rust/.envrc create mode 100644 templates/rust/Cargo.toml create mode 100644 templates/rust/default.nix create mode 100644 templates/rust/flake.nix create mode 100644 templates/rust/src/main.rs diff --git a/flake.nix b/flake.nix index b2418bd..2f1f9e3 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,8 @@ program = "${helix}/bin/hx"; }; }); + + templates = import ./templates; }; inputs = { # Unstable nixpkgs baby! diff --git a/templates/default.nix b/templates/default.nix new file mode 100644 index 0000000..0dea28b --- /dev/null +++ b/templates/default.nix @@ -0,0 +1,6 @@ +{ + rust = { + path = ./rust; + description = "Rust project template"; + }; +} diff --git a/templates/rust/.envrc b/templates/rust/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/templates/rust/.envrc @@ -0,0 +1 @@ +use flake diff --git a/templates/rust/Cargo.toml b/templates/rust/Cargo.toml new file mode 100644 index 0000000..892d1eb --- /dev/null +++ b/templates/rust/Cargo.toml @@ -0,0 +1,5 @@ +[package] +name = "sample-rust" +version = "0.0.1" +license = "GPL-3.0-only" +edition = "2024" diff --git a/templates/rust/default.nix b/templates/rust/default.nix new file mode 100644 index 0000000..69ea5e5 --- /dev/null +++ b/templates/rust/default.nix @@ -0,0 +1,8 @@ +{rustPlatform}: +rustPlatform.buildRustPackage { + pname = "some-rust-package"; + version = "0.0.1"; + + src = ./.; + cargoLock.lockFile = ./Cargo.lock; +} diff --git a/templates/rust/flake.nix b/templates/rust/flake.nix new file mode 100644 index 0000000..738ae57 --- /dev/null +++ b/templates/rust/flake.nix @@ -0,0 +1,35 @@ +{ + description = "Rust project template"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + systems.url = "github:nix-systems/default-linux"; + }; + + outputs = inputs: let + inherit (inputs.nixpkgs) lib; + inherit (lib.attrsets) genAttrs mapAttrs; + + eachSystem = genAttrs (import inputs.systems); + pkgsFor = inputs.nixpkgs.legacyPackages; + in { + packages = eachSystem (system: { + default = inputs.self.packages.${system}.ralc; + ralc = pkgsFor.${system}.callPackage ./nix/package.nix {}; + }); + + devShells = + mapAttrs (system: pkgs: { + default = pkgs.mkShell { + packages = with pkgs; [ + cargo + rustc + rustfmt + bacon + rust-analyzer + rustPackages.clippy + ]; + }; + }) + pkgsFor; + }; +} diff --git a/templates/rust/src/main.rs b/templates/rust/src/main.rs new file mode 100644 index 0000000..47ad8c6 --- /dev/null +++ b/templates/rust/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello World!"); +} From d852199742eec91018300ef9b38242c83cc59008 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Sat, 7 Jun 2025 17:32:30 +0200 Subject: [PATCH 2/2] packages: shell => fish --- packages/default.nix | 7 +++---- packages/{shell => fish}/aliases.nix | 0 packages/{shell => fish}/config.fish | 0 packages/{shell => fish}/default.nix | 0 packages/{shell => fish}/fishinit.nix | 0 packages/{shell => fish}/packages.nix | 0 packages/{shell => fish}/starship.nix | 0 7 files changed, 3 insertions(+), 4 deletions(-) rename packages/{shell => fish}/aliases.nix (100%) rename packages/{shell => fish}/config.fish (100%) rename packages/{shell => fish}/default.nix (100%) rename packages/{shell => fish}/fishinit.nix (100%) rename packages/{shell => fish}/packages.nix (100%) rename packages/{shell => fish}/starship.nix (100%) diff --git a/packages/default.nix b/packages/default.nix index 4d313ce..6b50927 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -1,9 +1,8 @@ {pkgs}: let inherit (pkgs) lib; - wrapped-helix = pkgs.callPackage ./helix {}; + helix = pkgs.callPackage ./helix {}; kakoune = pkgs.callPackage ./kakoune.nix {}; - fish = pkgs.callPackage ./shell {inherit lib;}; + fish = pkgs.callPackage ./fish {inherit lib;}; in { - inherit kakoune fish; - helix = wrapped-helix; + inherit kakoune fish helix; } diff --git a/packages/shell/aliases.nix b/packages/fish/aliases.nix similarity index 100% rename from packages/shell/aliases.nix rename to packages/fish/aliases.nix diff --git a/packages/shell/config.fish b/packages/fish/config.fish similarity index 100% rename from packages/shell/config.fish rename to packages/fish/config.fish diff --git a/packages/shell/default.nix b/packages/fish/default.nix similarity index 100% rename from packages/shell/default.nix rename to packages/fish/default.nix diff --git a/packages/shell/fishinit.nix b/packages/fish/fishinit.nix similarity index 100% rename from packages/shell/fishinit.nix rename to packages/fish/fishinit.nix diff --git a/packages/shell/packages.nix b/packages/fish/packages.nix similarity index 100% rename from packages/shell/packages.nix rename to packages/fish/packages.nix diff --git a/packages/shell/starship.nix b/packages/fish/starship.nix similarity index 100% rename from packages/shell/starship.nix rename to packages/fish/starship.nix