From 970b6e3b0f776c8c79ee0aa883306b412649f08e Mon Sep 17 00:00:00 2001 From: ediblerope Date: Sat, 28 Mar 2026 11:52:19 +0000 Subject: [PATCH] adding flake --- flake.nix | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 flake.nix diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8985414 --- /dev/null +++ b/flake.nix @@ -0,0 +1,51 @@ +# flake.nix — place this in the root of your nixos-config repo +{ + description = "FredOS NixOS configuration"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; # shares your nixpkgs, no double download + }; + + omnisearch = { + url = "git+https://git.bwaaa.monster/omnisearch/omnisearch"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + zen-browser = { + url = "github:youwen5/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-flatpak = { + url = "github:gmodena/nix-flatpak"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, home-manager, omnisearch, zen-browser, nix-flatpak, ... } @ inputs: + let + system = "x86_64-linux"; + + # Helper so each host doesn't have to repeat the boilerplate + mkHost = hostname: nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { inherit inputs; }; # makes 'inputs' available in all your .nix files + modules = [ + ./hosts/${hostname}.nix # your existing per-host file + ./common.nix # your existing shared config + home-manager.nixosModules.homeManager + nix-flatpak.nixosModules.nix-flatpak + ]; + }; + in { + nixosConfigurations = { + FredOS-Gaming = mkHost "FredOS-Gaming"; + FredOS-Mediaserver = mkHost "FredOS-Mediaserver"; + FredOS-Macbook = mkHost "FredOS-Macbook"; + }; + }; +} \ No newline at end of file