diff --git a/flake.lock b/flake.lock index e04bd08..5deb106 100644 --- a/flake.lock +++ b/flake.lock @@ -88,6 +88,39 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flakey-profile": { + "locked": { + "lastModified": 1712898590, + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", + "owner": "lf-", + "repo": "flakey-profile", + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", + "type": "github" + }, + "original": { + "owner": "lf-", + "repo": "flakey-profile", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -117,11 +150,11 @@ ] }, "locked": { - "lastModified": 1714931954, - "narHash": "sha256-QXpLmgmisNK2Zgpnu9DiO9ScrKJuJ4zmiMTNpObVIuk=", + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "owner": "nix-community", "repo": "home-manager", - "rev": "3dfe05aa9b5646995ace887931fa60269a039777", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "type": "github" }, "original": { @@ -156,6 +189,48 @@ "type": "github" } }, + "lix": { + "flake": false, + "locked": { + "lastModified": 1714955862, + "narHash": "sha256-REWlo2RYHfJkxnmZTEJu3Cd/2VM+wjjpPy7Xi4BdDTQ=", + "ref": "refs/tags/2.90-beta.1", + "rev": "b6799ab0374a8e1907a48915d3187e07da41d88c", + "revCount": 15501, + "type": "git", + "url": "https://git@git.lix.systems/lix-project/lix" + }, + "original": { + "ref": "refs/tags/2.90-beta.1", + "type": "git", + "url": "https://git@git.lix.systems/lix-project/lix" + } + }, + "lix-module": { + "inputs": { + "flake-utils": "flake-utils_2", + "flakey-profile": "flakey-profile", + "lix": [ + "lix" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714868057, + "narHash": "sha256-Q9vGkxmuarySjPKO6yixjZ0tkaVIQS2wU9FpCpDA7+I=", + "ref": "refs/heads/main", + "rev": "e31baf57680bab449ab5b40179cc4a08a99f5314", + "revCount": 62, + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" + } + }, "nix-flatpak": { "locked": { "lastModified": 1711997201, @@ -174,11 +249,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1714885415, - "narHash": "sha256-LG+2IVqVi1fy724rSDAkgqae+f47fGGko4cJhtkN8PE=", + "lastModified": 1714984131, + "narHash": "sha256-kjIvFbbKb6RGIJyOgcF+BBWHNzhNSNqRTxX/SkrkRno=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "753176b57b3fcddb140c1c012868e62c025120bd", + "rev": "e148ccbecbd2fe4dc4768fba67f6db828466ad06", "type": "github" }, "original": { @@ -270,6 +345,8 @@ "inputs": { "home-manager": "home-manager", "lanzaboote": "lanzaboote", + "lix": "lix", + "lix-module": "lix-module", "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2" @@ -314,6 +391,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 5e88028..248959c 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,17 @@ # Track base packages against unstable nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # Replace Nix with Lix: https://lix.systems/ + lix = { + url = "git+https://git@git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1"; + flake = false; + }; + lix-module = { + url = "git+https://git.lix.systems/lix-project/nixos-module"; + inputs.lix.follows = "lix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # SecureBoot support lanzaboote.url = "github:nix-community/lanzaboote/v0.3.0"; @@ -25,7 +36,7 @@ # TODO: Add Disko - https://github.com/nix-community/disko }; - outputs = inputs@{ self, nixpkgs, lanzaboote, nix-flatpak, home-manager, nixos-hardware, ... }: + outputs = inputs@{ self, nixpkgs, lanzaboote, nix-flatpak, home-manager, nixos-hardware, lix-module, ... }: let forAllSystems = function: nixpkgs.lib.genAttrs [ @@ -39,6 +50,7 @@ base = [ { _module.args = { inherit inputs; }; } ./hosts/default.nix + lix-module.nixosModules.default lanzaboote.nixosModules.lanzaboote nix-flatpak.nixosModules.nix-flatpak home-manager.nixosModules.home-manager { diff --git a/modules/base/nix.nix b/modules/base/nix.nix index f9f0fde..ef0bfd8 100644 --- a/modules/base/nix.nix +++ b/modules/base/nix.nix @@ -1,13 +1,14 @@ # Nix configuration { pkgs, config, lib, inputs, ... }: { nix = { - # Use the latest and greatest Nix - package = pkgs.nixVersions.latest; - settings = { - # Enables Flakes + # Enable Flakes experimental-features = [ "nix-command" "flakes" ]; + # Use Lix instead of Nix + extra-substituters = [ "https://cache.lix.systems" ]; + trusted-public-keys = [ "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" ]; + # Avoid signature verification messages when doing remote builds trusted-users = [ "${config.users.users.aires.name}" ]; };