diff --git a/flake.lock b/flake.lock index 53a26d2..9e89208 100644 --- a/flake.lock +++ b/flake.lock @@ -60,6 +60,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": [ @@ -122,6 +155,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" + } + }, "nixos-hardware": { "locked": { "lastModified": 1714465198, @@ -217,6 +292,8 @@ "flake-utils": "flake-utils", "home-manager": "home-manager", "hosts": "hosts", + "lix": "lix", + "lix-module": "lix-module", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", @@ -239,6 +316,21 @@ "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" + } + }, "vera-clang": { "inputs": { "flake-utils": [ diff --git a/flake.nix b/flake.nix index 3c7b9fb..ec88744 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,20 @@ flake-utils.follows = "flake-utils"; }; }; + + lix = { + type = "git"; + url = "https://git@git.lix.systems/lix-project/lix"; + ref = "refs/tags/2.90-beta.1"; + flake = false; + }; + + lix-module = { + type = "git"; + url = "https://git.lix.systems/lix-project/nixos-module"; + inputs.lix.follows = "lix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -56,6 +70,7 @@ , pre-commit-hooks , hosts , ecsls + , lix-module , ... }: let @@ -81,7 +96,7 @@ useUserPackages = true; users.${username} = import ./home; extraSpecialArgs = { - inherit username system ecsls pkgs; + inherit pkgs username system ecsls; }; }; }; @@ -114,7 +129,7 @@ inherit system; specialArgs = { - inherit username pkgs; + inherit username pkgs lix-module; }; modules = [ diff --git a/system/default.nix b/system/default.nix index d62af53..f9a81f0 100644 --- a/system/default.nix +++ b/system/default.nix @@ -1,6 +1,9 @@ { config, username, pkgs, ... }: { - imports = [ ./polkit.nix ]; + imports = [ + ./polkit.nix + ./lix.nix + ]; boot = { consoleLogLevel = 0; diff --git a/system/lix.nix b/system/lix.nix new file mode 100644 index 0000000..6378853 --- /dev/null +++ b/system/lix.nix @@ -0,0 +1,18 @@ +{ lix-module, ... }: +let + configuration = { + imports = [ lix-module.nixosModules.default ]; + + nix.settings = { + extra-substituters = [ "https://cache.lix.systems" ]; + trusted-public-keys = [ + "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" + ]; + }; + }; +in +{ + specialisation.lix = { + inherit configuration; + }; +}