From 196683aceb21563a21e490fa2dcda6f69ac4fe84 Mon Sep 17 00:00:00 2001 From: Ivan Kirilov Dimitrov Date: Mon, 10 Jun 2024 21:16:46 +0200 Subject: [PATCH] kinda working --- flake.lock | 23 +++++++++++++++++- flake.nix | 70 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 63 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 875be4f..e65ebd4 100644 --- a/flake.lock +++ b/flake.lock @@ -492,6 +492,26 @@ "type": "github" } }, + "parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -528,7 +548,8 @@ "hosts": "hosts", "ide": "ide", "nid": "nid", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "parts": "parts" } }, "systems": { diff --git a/flake.nix b/flake.nix index 87de000..6105076 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,10 @@ url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; + parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; hosts = { url = "github:StevenBlack/hosts"; inputs.nixpkgs.follows = "nixpkgs"; @@ -19,34 +23,42 @@ }; catppuccin.url = "github:catppuccin/nix"; }; - outputs = { nixpkgs, home-manager, hosts, ide, nid, catppuccin, ... }: - let - system = "x86_64-linux"; - stateVersion = "24.05"; - my-overlay = self: super: { - scripts = (super.buildEnv { name = "scripts"; paths = [ ./. ]; }); - }; - pkgs = import nixpkgs { - inherit system; - overlays = [ my-overlay ]; - }; - modules = import ./modules { - inherit system nixpkgs pkgs ide my-overlay; - }; - home = import ./home { - inherit stateVersion pkgs modules home-manager nid catppuccin; - }; - nixos = import ./nixos { - inherit stateVersion system nixpkgs modules hosts catppuccin; - }; - in - { - nixosConfigurations = { - laptop = nixos.laptop; - }; - homeConfigurations = { - ivand = home.ivand; - }; - modules = modules; + outputs = inputs@{ parts, nixpkgs, ide, nid, home-manager, hosts, catppuccin, ... }: + parts.lib.mkFlake { inherit inputs; } { + flake = + let + stateVersion = "24.05"; + my-overlay = self: super: { + scripts = (super.buildEnv { name = "scripts"; paths = [ ./. ]; }); + }; + pkgs = import nixpkgs { + overlays = [ my-overlay ]; + }; + modules = import ./modules { + inherit nixpkgs pkgs ide my-overlay; + system = "x86_64-linux"; + }; + home = import ./home { + inherit stateVersion pkgs modules home-manager nid catppuccin; + system = "x86_64-linux"; + }; + nixos = import ./nixos { + inherit stateVersion nixpkgs modules hosts catppuccin; + system = "x86_64-linux"; + }; + in + { + nixosConfigurations = { + nixos = nixos.laptop; + }; + homeConfigurations = { + ivand = home.ivand; + }; + modules = modules; + }; + systems = [ + "x86_64-linux" + ]; + perSystem = { config, ... }: { }; }; }