From a37cdcab5d1436ea7d26d31b03321ef9ee210f33 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Fri, 21 Apr 2023 13:43:55 -0400 Subject: [PATCH] nixosConfigurations abstraction --- flake.nix | 69 +++++++++++++------------------- systems/gerg-desktop/default.nix | 4 ++ 2 files changed, 31 insertions(+), 42 deletions(-) diff --git a/flake.nix b/flake.nix index 0dc082e..c66e8d5 100644 --- a/flake.nix +++ b/flake.nix @@ -43,56 +43,42 @@ self, unstable, flake-utils, - nvim-flake, nixos-generators, ... - }: + }: let + lib = unstable.lib; + mkSystems = system: names: + lib.genAttrs names ( + name: + lib.nixosSystem { + inherit system; + specialArgs = { + inherit self; + }; + modules = [ + (import ./modules inputs) + (import ./systems + name inputs) + ]; + } + ); + in { - nixosConfigurations = { - gerg-desktop = unstable.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { - inherit self; - }; - modules = [ - (import ./modules inputs) - (import ./systems/gerg-desktop inputs) - { - nixpkgs.overlays = [ - nvim-flake.overlays.default - ]; - } - ]; - }; - game-laptop = unstable.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { - inherit self; - }; - modules = [ - (import ./modules inputs) - (import ./systems/game-laptop inputs) - ]; - }; - moms-laptop = unstable.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { - inherit self; - }; - modules = [ - (import ./modules inputs) - (import ./systems/moms-laptop inputs) - ]; - }; - }; + nixosConfigurations = + mkSystems + "x86_64-linux" + [ + "gerg-desktop" + "game-laptop" + "moms-laptop" + ]; } // flake-utils.lib.eachDefaultSystem ( system: let pkgs = import unstable {inherit system;}; in { formatter = pkgs.alejandra; - devShells = rec { - nix = pkgs.mkShell { + devShells = { + default = pkgs.mkShell { packages = [ pkgs.sops pkgs.nil @@ -101,7 +87,6 @@ pkgs.statix ]; }; - default = nix; }; packages = { diff --git a/systems/gerg-desktop/default.nix b/systems/gerg-desktop/default.nix index 82e15e6..0095191 100644 --- a/systems/gerg-desktop/default.nix +++ b/systems/gerg-desktop/default.nix @@ -45,6 +45,10 @@ inputs: { "steam-original" ]; + nixpkgs.overlays = [ + inputs.nvim-flake.overlays.default + ]; + environment.systemPackages = [ pkgs.bitwarden #store stuff pkgs.qbittorrent #steal stuff