From c6f5084aa7181f09f4ae8aa84e75e26a62e5d496 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 17 May 2024 21:20:23 +0300 Subject: [PATCH] system builder flake.nix --- flake.nix | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/flake.nix b/flake.nix index fca0b01..e28cdd2 100644 --- a/flake.nix +++ b/flake.nix @@ -1,14 +1,13 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - # nixpkgs.url = "github:nixos/nixpkgs?rev=ebce8ace41c8ca0d1776de4c5be5c815fb2fb5f7"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs2105.url = "github:NixOS/nixpkgs/nixos-21.05"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - anyrun.url = "github:Kirottu/anyrun"; - # anyrun.inputs.nixpkgs.follows = "nixpkgs"; + anyrun.url = "github:anyrun-org/anyrun"; + anyrun.inputs.nixpkgs.follows = "nixpkgs"; secrets.url = "git+ssh://git@github.com/deltathetawastaken/secrets.git"; nixvim.url = "github:nix-community/nixvim"; shwewo = { @@ -21,6 +20,11 @@ url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "nixpkgs"; }; + #hyprland-plugins = { + # url = "github:hyprwm/hyprland-plugins"; + # inputs.hyprland.follows = "hyprland"; + #}; + }; outputs = inputs@{ self, nixpkgs, home-manager, ... }: @@ -34,33 +38,32 @@ system = "x86_64-linux"; config = { allowUnfree = true; }; }; - specialArgs = { inherit inputs self stable unstable homeSettings; }; - homeSettings = { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.delta = import ./home/home.nix; - home-manager.extraSpecialArgs = specialArgs; + specialArgs = { inherit inputs self stable unstable homeSettings; }; #var coz shared between home and system + homeSettings.home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.delta = import ./home/home.nix; + extraSpecialArgs = specialArgs; }; + + makeSystem = name: systemModules: nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = specialArgs; + modules = [ ./hosts/generic.nix ] ++ systemModules; + }; + in { devShells."x86_64-linux".default = pkgs.mkShell { name = "delta"; packages = with pkgs; [ gitleaks pre-commit ]; shellHook = "pre-commit install &> /dev/null && gitleaks detect -v"; }; - nixosConfigurations.dlaptop = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = specialArgs; - modules = [ ./hosts/generic.nix ./hosts/dlaptop/system.nix ]; - }; - nixosConfigurations.intelnuc = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = specialArgs; - modules = [ ./hosts/generic.nix ./hosts/intelnuc/system.nix ]; - }; - nixosConfigurations.huanan = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = specialArgs; - modules = [ ./hosts/generic.nix ./hosts/huanan/system.nix ]; + + nixosConfigurations = { + dlaptop = makeSystem "dlaptop" [ ./hosts/dlaptop/system.nix ]; + intelnuc = makeSystem "intelnuc" [ ./hosts/intelnuc/system.nix ]; + huanan = makeSystem "huanan" [ ./hosts/huanan/system.nix ]; }; }; } +