summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorspl3g <spleefer6@gmail.com>2026-05-28 18:55:00 +0300
committerspl3g <spleefer6@gmail.com>2026-05-29 21:18:21 +0300
commit9a7ca8a6cbab866d6ce6b1eb12e5977f7f2a9367 (patch)
treefd7fc37559f8cb35d7a4ad90cefb3231699baac2 /flake.nix
init
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..56f8837
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,50 @@
+{
+ description = "An empty flake template that you can adapt to your own environment";
+
+ # Flake inputs
+ inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; # unstable Nixpkgs
+
+ # Flake outputs
+ outputs = {self, ...} @ inputs: let
+ # The systems supported for this flake
+ supportedSystems = [
+ "x86_64-linux" # 64-bit Intel/AMD Linux
+ "aarch64-linux" # 64-bit ARM Linux
+ "aarch64-darwin" # 64-bit ARM macOS
+ ];
+
+ # Helper to provide system-specific attributes
+ forEachSupportedSystem = f:
+ inputs.nixpkgs.lib.genAttrs supportedSystems (
+ system:
+ f {
+ inherit system;
+ pkgs = import inputs.nixpkgs {inherit system;};
+ }
+ );
+ in {
+ devShells = forEachSupportedSystem (
+ {
+ pkgs,
+ system,
+ }: {
+ default = pkgs.mkShellNoCC {
+ # The Nix packages provided in the environment
+ # Add any you need here
+ packages = with pkgs; [
+ self.formatter.${system}
+ uv
+ ];
+
+ # Set any environment variables for your dev shell
+ env = {};
+
+ # Add any shell logic you want executed any time the environment is activated
+ shellHook = "";
+ };
+ }
+ );
+
+ formatter = forEachSupportedSystem ({pkgs, ...}: pkgs.nixfmt);
+ };
+}