{ description = "Home Manager configuration of alex"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; catppuccin.url = "github:catppuccin/nix"; nixos-hardware.url = "github:NixOS/nixos-hardware"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs @ { nixpkgs, catppuccin, home-manager, agenix, nixos-hardware, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { # TODO optimize HM config (currently just otter / Framework) homeConfigurations."alex" = home-manager.lib.homeManagerConfiguration { inherit pkgs; # Specify your home configuration modules here, for example, # the path to your home.nix. modules = [ ./home/otter catppuccin.homeManagerModules.catppuccin ]; # Optionally use extraSpecialArgs # to pass through arguments to home.nix }; nixosConfigurations = let username = "alex"; #system = "x86_64-linux"; nixosSystem = import ./lib/nixosSystem.nix; home-module = import ./home/ferret; nixos-modules =./nixos/ferret; ferret_modules = { inherit nixos-modules; inherit home-module; }; otter_modules = { nixos-modules = ./nixos/otter; home-module = ./home/otter; }; args = { inherit inputs; inherit nixpkgs; inherit home-manager; inherit system; specialArgs = { inherit inputs; inherit username; }; }; in { ferret = nixosSystem (ferret_modules // args); otter = nixosSystem (otter_modules // args); }; }; }