diff --git a/flake.lock b/flake.lock index 8c4cb70..a209193 100644 --- a/flake.lock +++ b/flake.lock @@ -144,29 +144,28 @@ "cerulean": { "inputs": { "deploy-rs": "deploy-rs", + "home-manager": "home-manager", + "microvm": "microvm", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-unstable": [ - "nixpkgs-unstable" - ], "nt": "nt", "systems": [ "systems" ] }, "locked": { - "lastModified": 1771048834, - "narHash": "sha256-rkhrNJIjCQeABf0zgWZvz4Rb99TJvK+ioOmgy3tIOMs=", - "owner": "emilelcb", - "repo": "Cerulean", - "rev": "f329d48223d8addd340f14c9c653960544b3ce2c", - "type": "github" + "lastModified": 1771296113, + "narHash": "sha256-a7yA8+RCLnNh/ZMljgzX286z85XxtVTaeQe8mGWgbcA=", + "ref": "refs/heads/main", + "rev": "59d1028e19d9ac5f43122d08119e90d77e56a7da", + "revCount": 169, + "type": "git", + "url": "https://tearforge.net/cry/cerulean" }, "original": { - "owner": "emilelcb", - "repo": "Cerulean", - "type": "github" + "type": "git", + "url": "https://tearforge.net/cry/cerulean" } }, "crane": { @@ -204,7 +203,10 @@ "deploy-rs": { "inputs": { "flake-compat": "flake-compat_3", - "nixpkgs": "nixpkgs_3", + "nixpkgs": [ + "cerulean", + "nixpkgs" + ], "utils": "utils" }, "locked": { @@ -453,6 +455,28 @@ } }, "home-manager": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770260404, + "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-25.11", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { "inputs": { "nixpkgs": [ "nixpkgs-unstable" @@ -473,7 +497,7 @@ "type": "github" } }, - "home-manager_2": { + "home-manager_3": { "inputs": { "nixpkgs": [ "zen", @@ -563,7 +587,7 @@ "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "hyprwire": "hyprwire", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_3", "xdph": "xdph" @@ -849,7 +873,7 @@ "crane": "crane", "fenix": "fenix", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1768868561, @@ -950,6 +974,49 @@ "type": "github" } }, + "microvm": { + "inputs": { + "nixpkgs": [ + "cerulean", + "nixpkgs" + ], + "spectrum": "spectrum" + }, + "locked": { + "lastModified": 1770310890, + "narHash": "sha256-lyWAs4XKg3kLYaf4gm5qc5WJrDkYy3/qeV5G733fJww=", + "owner": "microvm-nix", + "repo": "microvm.nix", + "rev": "68c9f9c6ca91841f04f726a298c385411b7bfcd5", + "type": "github" + }, + "original": { + "owner": "microvm-nix", + "repo": "microvm.nix", + "type": "github" + } + }, + "microvm_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "spectrum": "spectrum_2" + }, + "locked": { + "lastModified": 1770310890, + "narHash": "sha256-lyWAs4XKg3kLYaf4gm5qc5WJrDkYy3/qeV5G733fJww=", + "owner": "microvm-nix", + "repo": "microvm.nix", + "rev": "68c9f9c6ca91841f04f726a298c385411b7bfcd5", + "type": "github" + }, + "original": { + "owner": "microvm-nix", + "repo": "microvm.nix", + "type": "github" + } + }, "millennium": { "inputs": { "abseil-src": "abseil-src", @@ -965,7 +1032,7 @@ "minhook-src": "minhook-src", "mini-src": "mini-src", "minizip-src": "minizip-src", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "re2-src": "re2-src", "websocketpp-src": "websocketpp-src", "zlib-src": "zlib-src" @@ -1058,7 +1125,7 @@ "inputs": { "flake-compat": "flake-compat_5", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1768904356, @@ -1162,7 +1229,7 @@ "inputs": { "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1770365342, @@ -1257,22 +1324,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1771043024, - "narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1769461804, "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", @@ -1305,22 +1356,6 @@ } }, "nixpkgs_3": { - "locked": { - "lastModified": 1743014863, - "narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { "locked": { "lastModified": 1767313136, "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", @@ -1336,7 +1371,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1766070988, "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", @@ -1352,7 +1387,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1760284886, "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", @@ -1368,7 +1403,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1770115704, "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", @@ -1384,7 +1419,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { "lastModified": 1768305791, "narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=", @@ -1400,7 +1435,7 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { "lastModified": 1770770419, "narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", @@ -1416,10 +1451,26 @@ "type": "github" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1771043024, + "narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nt": { "inputs": { "nix-unit": "nix-unit", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "systems": "systems_2" }, "locked": { @@ -1481,15 +1532,16 @@ "awww": "awww", "cachyos": "cachyos", "cerulean": "cerulean", - "home-manager": "home-manager", + "home-manager": "home-manager_2", "hyprland-git": "hyprland-git", "hyprland-plugins": "hyprland-plugins", "iamb": "iamb", + "microvm": "microvm_2", "millennium": "millennium", "nix-alien": "nix-alien", "nixcats": "nixcats", "nixcord": "nixcord", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_9", "nixpkgs-staging": "nixpkgs-staging", "nixpkgs-unstable": "nixpkgs-unstable", "sddm-silent": "sddm-silent", @@ -1556,6 +1608,38 @@ "type": "github" } }, + "spectrum": { + "flake": false, + "locked": { + "lastModified": 1759482047, + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "ref": "refs/heads/main", + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", + "revCount": 996, + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + }, + "original": { + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + } + }, + "spectrum_2": { + "flake": false, + "locked": { + "lastModified": 1759482047, + "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "ref": "refs/heads/main", + "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", + "revCount": 996, + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + }, + "original": { + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + } + }, "spicetify-nix": { "inputs": { "nixpkgs": [ @@ -1755,8 +1839,8 @@ }, "zen": { "inputs": { - "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_11" + "home-manager": "home-manager_3", + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1770910552, diff --git a/flake.nix b/flake.nix index 642c634..e6bfe6d 100644 --- a/flake.nix +++ b/flake.nix @@ -14,11 +14,11 @@ }; cerulean = { - url = "github:emilelcb/Cerulean"; + #url = "git+https://tearforge.net/cry/cerulean?ref=refs/tags/v0.2.2-alpha"; + url = "git+https://tearforge.net/cry/cerulean"; inputs = { systems.follows = "systems"; - nixpkgs.follows = "nixpkgs-unstable"; - nixpkgs-unstable.follows = "nixpkgs-unstable"; + nixpkgs.follows = "nixpkgs"; }; }; diff --git a/groups/unstable-base/default.nix b/groups/unstable-base/default.nix deleted file mode 100644 index 1afa015..0000000 --- a/groups/unstable-base/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{lib, config, ...}: { - nixpkgs.channels.default = { - default = lib.mkForce config.nixpkgs-unstable.channels.default.pkgs; - }; -} diff --git a/homes/aurora/default.nix b/homes/aurora/default.nix index 2e46252..075e10e 100644 --- a/homes/aurora/default.nix +++ b/homes/aurora/default.nix @@ -245,20 +245,20 @@ }; } { - condition = "hasconfig:remote.*.url:ssh://forgejo@forge.dobutterfliescry.net:2222/**"; + condition = "hasconfig:remote.*.url:ssh://git@tearforge.net:2222/**"; contents = { user = { name = "foxora"; - email = "foxora@noreply.forge.dobutterfliescry.net"; + email = "foxora@noreply.tearforge.net"; }; }; } { - condition = "hasconfig:remote.*.url:https://forge.dobutterfliescry.net/**"; + condition = "hasconfig:remote.*.url:https://tearforge.net/**"; contents = { user = { name = "foxora"; - email = "foxora@noreply.forge.dobutterfliescry.net"; + email = "foxora@noreply.tearforge.net"; }; }; } diff --git a/hosts/nixarawrui/default.nix b/hosts/nixarawrui/default.nix index 010b67a..fde75be 100644 --- a/hosts/nixarawrui/default.nix +++ b/hosts/nixarawrui/default.nix @@ -278,10 +278,6 @@ }; }; - # XXX: WARNING: NOTE: (@dobutterfliescry) - # XXX: WARNING: NOTE: WHYYYYYY DOES AURORA'S CONFIG NOT PROPAGATE INPUTS?? - home-manager.extraSpecialArgs = {inherit inputs;}; - # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with upkgs; [ diff --git a/snow.nix b/snow.nix index 1fea348..e0fe4c1 100644 --- a/snow.nix +++ b/snow.nix @@ -1,14 +1,15 @@ {cerulean, ...} @ inputs: cerulean.mkNexus ./. (self: { nexus = { - specialArgs = {inherit inputs;}; + args = {inherit inputs;}; - extraModules = with inputs; [ + modules = with inputs; [ home-manager.nixosModules.home-manager ]; + base = inputs.nixpkgs; + groups = { - unstable-base = {}; servers = {}; }; @@ -22,11 +23,9 @@ cerulean.mkNexus ./. (self: { nixarawrui = { system = "x86_64-linux"; - groups = [ - groups.unstable-base - ]; + base = inputs.nixpkgs-unstable; - extraModules = with inputs; [ + modules = with inputs; [ sddm-silent.nixosModules.default ]; }; @@ -38,6 +37,56 @@ cerulean.mkNexus ./. (self: { groups.servers ]; + modules = with inputs; [ + microvm.nixosModules.host + + { + microvm.vms = { + home-assistant = { + autostart = true; + + config = { + imports = [ ./vms/home-assistant/default.nix ]; + + networking.hostName = "home-assistant"; + + microvm = { + hypervisor = "qemu"; + + # memory cannot be 2GB so i doubled it and used 4GB: + # https://github.com/microvm-nix/microvm.nix/issues/171 + # TODO: can be fixed by turning off acpi in qemu + mem = 4096; # 4GB + vcpu = 2; + + interfaces = [{ + type = "tap"; + id = "vm-hass"; + mac = "0a:00:a0:70:01:01"; + }]; + + volumes = [{ + image = "/var/lib/microvms/home-assistant/data.img"; + mountPoint = "/var/lib/hass"; + size = 16384; # 16GB + }]; + }; + + networking = { + interfaces.eth0 = { + useDHCP = false; + ipv4.addresses = [{ + address = "10.16.1.127"; + prefixLength = 24; + }]; + }; + }; + }; + }; + }; + } + ]; + deploy.ssh = { host = "10.16.1.163"; port = 2222; diff --git a/vms/home-assistant/default.nix b/vms/home-assistant/default.nix new file mode 100644 index 0000000..4f27018 --- /dev/null +++ b/vms/home-assistant/default.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: +{ + services.home-assistant = { + enable = true; + configDir = "/var/lib/hass"; + # disables config generation, i don't wanna configure home assistant + # through nix at the moment + config = null; + }; + + system.stateVersion = "25.11"; +}