commit 27bc021e14d29eed97560abd17997df70a960721
Author: Evelyn Alicke <dev@evl.li>
Date:   Wed Feb 19 18:11:54 2025 +0100

    init

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/.forgejo b/.forgejo
new file mode 120000
index 0000000..821c19d
--- /dev/null
+++ b/.forgejo
@@ -0,0 +1 @@
+.github
\ No newline at end of file
diff --git a/.github/workflows/build_nix.yml b/.github/workflows/build_nix.yml
new file mode 100644
index 0000000..87d2eba
--- /dev/null
+++ b/.github/workflows/build_nix.yml
@@ -0,0 +1,13 @@
+name: "Build legacy Nix package on Ubuntu"
+
+on:
+  push:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: cachix/install-nix-action@v26
+      - name: Building package
+        run: nix build 
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2d5df85
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/target
+.direnv
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..47e4b46
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "snow"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a87353c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,61 @@
+Notes:
+
+
+
+# Build Tooling requirements:
+
+* Eval / Check / Lint
+  * `deadnix`
+  * `nixfmt`
+  * `nix-tree`
+  * `nix-visualize`
+
+* Diff
+  * `nvd`
+  * `nix-diff` 
+  * secrets (list commits affecting secret)
+
+* Secret Management: 
+  * Generate & Store from expression to pass-like-store
+  * lazy eval secret decryption and recryption
+  * Deploy to ```systemd-secrets```
+
+* NextBoot to drv (&reboot)
+
+# Architecture Considerations
+## `action`:
+
+### Arguments
+`buildOn = any of [local, target, delegate=$?]`
+`filter = any of [$hostname, $fqdn, $label]`
+`goal = any of nix-eval $system.config.system.*` TODO: figure out better fitering
+
+
+
+## goals:
+
+
+## action
+```toml
+[action."diff"]
+command = ""
+```
+
+
+## connection:
+information to establish execution on an actor
+```toml
+[[connection]]
+type = "ssh"
+source = "global"
+destination = "target"
+```
+
+## actor:
+```toml
+[actor]
+capabilities = {
+  build = [ "self", "native" ]
+  secrets.unattended = true
+}
+```
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..39bacff
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,7 @@
+(import (
+  fetchTarball {
+    url = "https://github.com/edolstra/flake-compat/archive/99f1c2157fba4bfe6211a321fd0ee43199025dbf.tar.gz";
+    sha256 = "0x2jn3vrawwv9xp15674wjz9pixwjyj3j771izayl962zziivbx2"; }
+) {
+  src =  ./.;
+}).defaultNix
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..1993666
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,94 @@
+{
+  "nodes": {
+    "naersk": {
+      "inputs": {
+        "nixpkgs": "nixpkgs"
+      },
+      "locked": {
+        "lastModified": 1739824009,
+        "narHash": "sha256-fcNrCMUWVLMG3gKC5M9CBqVOAnJtyRvGPxptQFl5mVg=",
+        "owner": "nix-community",
+        "repo": "naersk",
+        "rev": "e5130d37369bfa600144c2424270c96f0ef0e11d",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "ref": "master",
+        "repo": "naersk",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1739184465,
+        "narHash": "sha256-7Z9kNbr6qZwPG1z/6Hn/re4SS9nu1krxyknyNeCBh/o=",
+        "path": "/nix/store/szsvc6ja438ly9440hjnlnxfgazd7751-source",
+        "rev": "58edd1e2acbc9be9fe29964344c6419db013141e",
+        "type": "path"
+      },
+      "original": {
+        "id": "nixpkgs",
+        "type": "indirect"
+      }
+    },
+    "nixpkgs_2": {
+      "locked": {
+        "lastModified": 1739863612,
+        "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "632f04521e847173c54fa72973ec6c39a371211c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixpkgs-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "naersk": "naersk",
+        "nixpkgs": "nixpkgs_2",
+        "utils": "utils"
+      }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    },
+    "utils": {
+      "inputs": {
+        "systems": "systems"
+      },
+      "locked": {
+        "lastModified": 1731533236,
+        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..680de52
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,22 @@
+{
+  inputs = {
+    naersk.url = "github:nix-community/naersk/master";
+    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+    utils.url = "github:numtide/flake-utils";
+  };
+
+  outputs = { self, nixpkgs, utils, naersk }:
+    utils.lib.eachDefaultSystem (system:
+      let
+        pkgs = import nixpkgs { inherit system; };
+        naersk-lib = pkgs.callPackage naersk { };
+      in
+      {
+        defaultPackage = naersk-lib.buildPackage ./.;
+        devShell = with pkgs; mkShell {
+          buildInputs = [ cargo rustc rustfmt pre-commit rustPackages.clippy ];
+          RUST_SRC_PATH = rustPlatform.rustLibSrc;
+        };
+      }
+    );
+}
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 0000000..77db547
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,7 @@
+(import (
+  fetchTarball {
+    url = "https://github.com/edolstra/flake-compat/archive/99f1c2157fba4bfe6211a321fd0ee43199025dbf.tar.gz";
+    sha256 = "0x2jn3vrawwv9xp15674wjz9pixwjyj3j771izayl962zziivbx2"; }
+) {
+  src =  ./.;
+}).shellNix
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..e7a11a9
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+    println!("Hello, world!");
+}