diff --git a/flake.lock b/flake.lock index f14a958..859eced 100644 --- a/flake.lock +++ b/flake.lock @@ -71,6 +71,27 @@ "type": "github" } }, + "crane": { + "inputs": { + "nixpkgs": [ + "flox", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1703439018, + "narHash": "sha256-VT+06ft/x3eMZ1MJxWzQP3zXFGcrxGo5VR2rB7t88hs=", + "owner": "ipetkov", + "repo": "crane", + "rev": "afdcd41180e3dfe4dac46b5ee396e3b12ccc967a", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -91,7 +112,45 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "flox", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1713939967, + "narHash": "sha256-3YQSEYvAIHE40tx5nM9dgeEe0gsHjf15+gurUpyDYNw=", + "owner": "nix-community", + "repo": "fenix", + "rev": "5c3ff469526a6ca54a887fbda9d67aef4dd4a921", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1717312683, @@ -107,7 +166,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -160,6 +219,24 @@ "inputs": { "systems": "systems" }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_2" + }, "locked": { "lastModified": 1710146030, "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", @@ -174,6 +251,31 @@ "type": "github" } }, + "flox": { + "inputs": { + "crane": "crane", + "fenix": "fenix", + "nixpkgs": "nixpkgs", + "nixpkgs-bear": "nixpkgs-bear", + "nixpkgs-process-compose": "nixpkgs-process-compose", + "pre-commit-hooks": "pre-commit-hooks", + "sqlite3pp": "sqlite3pp" + }, + "locked": { + "lastModified": 1722880304, + "narHash": "sha256-nSAGizlqq2qB/gEWKK8TXfd7WyuTx8oUMya4ssa3CLU=", + "owner": "flox", + "repo": "flox", + "rev": "d13a0d4093ae2eb02af4a4dd2e793536f497fce8", + "type": "github" + }, + "original": { + "owner": "flox", + "ref": "v1.2.3", + "repo": "flox", + "type": "github" + } + }, "genebean-omp-themes": { "flake": false, "locked": { @@ -190,6 +292,28 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "flox", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -233,7 +357,7 @@ }, "nix-darwin_2": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1716329735, @@ -267,9 +391,9 @@ "nix-homebrew": { "inputs": { "brew-src": "brew-src", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nix-darwin": "nix-darwin_2", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1719720211, @@ -310,11 +434,11 @@ }, "nixos-cosmic": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-stable": "nixpkgs-stable_2", "rust-overlay": "rust-overlay" }, "locked": { @@ -349,15 +473,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1687274257, - "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", - "path": "/nix/store/22qgs3skscd9bmrxv9xv4q5d4wwm5ppx-source", - "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", - "type": "path" + "lastModified": 1704300003, + "narHash": "sha256-FRC/OlLVvKkrdm+RtrODQPufD0vVZYA0hpH9RPaHmp4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ab5fd150146dcfe41fda501134e6503932cc8dfd", + "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-1_0": { @@ -391,6 +518,22 @@ "type": "indirect" } }, + "nixpkgs-bear": { + "locked": { + "lastModified": 1705957679, + "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-lib": { "locked": { "lastModified": 1722555339, @@ -403,7 +546,39 @@ "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" } }, + "nixpkgs-process-compose": { + "locked": { + "lastModified": 1722415718, + "narHash": "sha256-5US0/pgxbMksF92k1+eOa8arJTJiPvsdZj9Dl+vJkM4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c3392ad349a5227f4a3464dce87bcc5046692fce", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { + "locked": { + "lastModified": 1685801374, + "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1722987190, "narHash": "sha256-68hmex5efCiM2aZlAAEcQgmFI4ZwWt8a80vOeB/5w3A=", @@ -419,7 +594,7 @@ "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs-stable_3": { "locked": { "lastModified": 1721524707, "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", @@ -446,7 +621,7 @@ "nixpkgs-1_9": [ "nixpkgs-unstable" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1723144319, @@ -479,6 +654,19 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1687274257, + "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", + "path": "/nix/store/22qgs3skscd9bmrxv9xv4q5d4wwm5ppx-source", + "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1716330097, "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", @@ -494,7 +682,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1723282977, "narHash": "sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg=", @@ -510,7 +698,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1717602782, "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", @@ -547,10 +735,36 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_2", + "gitignore": "gitignore", + "nixpkgs": [ + "flox", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1703939133, + "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "compose2nix": "compose2nix", "disko": "disko", + "flox": "flox", "genebean-omp-themes": "genebean-omp-themes", "home-manager": "home-manager", "nix-darwin": "nix-darwin", @@ -558,13 +772,30 @@ "nix-homebrew": "nix-homebrew", "nixos-cosmic": "nixos-cosmic", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-terraform": "nixpkgs-terraform", "nixpkgs-unstable": "nixpkgs-unstable", "simple-nixos-mailserver": "simple-nixos-mailserver", "sops-nix": "sops-nix" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1713801366, + "narHash": "sha256-VmzP5s59kb6//mj+ES+hslTLuugjd7OluGIXXcwuyHg=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "e31c9f3fe11148514c3ad254b639b2ed7dbe35de", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { "nixpkgs": [ @@ -589,8 +820,8 @@ "simple-nixos-mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_2", - "nixpkgs": "nixpkgs_4", + "flake-compat": "flake-compat_3", + "nixpkgs": "nixpkgs_5", "nixpkgs-24_05": "nixpkgs-24_05", "utils": "utils" }, @@ -614,7 +845,7 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1723454404, @@ -630,6 +861,27 @@ "type": "github" } }, + "sqlite3pp": { + "inputs": { + "nixpkgs": [ + "flox", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1691154329, + "narHash": "sha256-nMtwh/G1/Zt70rl540jn+nFVJuju0NdXJwk2Y3pNB+k=", + "owner": "aakropotkin", + "repo": "sqlite3pp", + "rev": "775e48a6c7a63a51585cd628f6c9816ba634a246", + "type": "github" + }, + "original": { + "owner": "aakropotkin", + "repo": "sqlite3pp", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -675,9 +927,24 @@ "type": "github" } }, + "systems_4": { + "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_3" + "systems": "systems_4" }, "locked": { "lastModified": 1709126324, diff --git a/flake.nix b/flake.nix index 904de79..5a65fdf 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + flox = { + url = "github:flox/flox/v1.2.3"; + # their nixpkgs currently follow release-23.11 + }; + # My oh-my-posh theme genebean-omp-themes = { url = "github:genebean/my-oh-my-posh-themes"; @@ -64,7 +69,7 @@ }; # end inputs outputs = inputs@{ - self, nixpkgs, nixpkgs-unstable, compose2nix, disko, genebean-omp-themes, + self, nixpkgs, nixpkgs-unstable, compose2nix, disko, flox, genebean-omp-themes, home-manager, nix-darwin, nix-flatpak, nix-homebrew, nixos-cosmic, nixos-hardware, nixpkgs-terraform, simple-nixos-mailserver, sops-nix, ... }: let diff --git a/modules/hosts/darwin/mightymac/default.nix b/modules/hosts/darwin/mightymac/default.nix index b87aff8..2806395 100644 --- a/modules/hosts/darwin/mightymac/default.nix +++ b/modules/hosts/darwin/mightymac/default.nix @@ -1,10 +1,11 @@ -{ pkgs, ... }: { +{ inputs, pkgs, ... }: { system.stateVersion = 4; environment = { systemPackages = with pkgs; [ chart-testing goreleaser + inputs.flox.packages.${pkgs.system}.default kopia kubectx reposurgeon diff --git a/modules/system/common/all-darwin.nix b/modules/system/common/all-darwin.nix index 0585f23..77680dd 100644 --- a/modules/system/common/all-darwin.nix +++ b/modules/system/common/all-darwin.nix @@ -96,10 +96,18 @@ "nix-command" "repl-flake" ]; - extra-substituters = [ + # extra-substituters = [ + # ]; + # extra-trusted-public-keys = [ + # ]; + substituters = [ + "https://cache.nixos.org" # default one + "https://cache.flox.dev" "https://nixpkgs-terraform.cachix.org" ]; - extra-trusted-public-keys = [ + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # default one + "flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs=" "nixpkgs-terraform.cachix.org-1:8Sit092rIdAVENA3ZVeH9hzSiqI/jng6JiCrQ1Dmusw=" ]; trusted-users = [ "@admin" "${username}" ]; diff --git a/modules/system/common/all-nixos.nix b/modules/system/common/all-nixos.nix index bf91912..6e3ed11 100644 --- a/modules/system/common/all-nixos.nix +++ b/modules/system/common/all-nixos.nix @@ -49,12 +49,14 @@ # ]; substituters = [ "https://cache.nixos.org" # default one + "https://cache.flox.dev" "https://cosmic.cachix.org/" "https://nixpkgs-terraform.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # default one "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" + "flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs=" "nixpkgs-terraform.cachix.org-1:8Sit092rIdAVENA3ZVeH9hzSiqI/jng6JiCrQ1Dmusw=" ]; trusted-users = [ "${username}" ];