{ description = "Nixos config flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nvf.url = "github:notashelf/nvf"; alejandra.url = "github:kamadorueda/alejandra/3.1.0"; alejandra.inputs.nixpkgs.follows = "nixpkgs"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, nvf, alejandra, ... } @ inputs: let inherit (self) outputs; in { # use "nixos", or your hostname as the name of the configuration # it's a better practice than "default" shown in the video nixosModules = import ./modules/nixos; homeManagerModules = import ./modules/home-manager; packages."x86_64-linux".default = (nvf.lib.neovimConfiguration { pkgs = nixpkgs.legacyPackages."x86_64-linux"; modules = [./nvf-configuration.nix]; }) .neovim; nixosConfigurations = { hummingbird = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ { environment.systemPackages = [alejandra.defaultPackage.x86_64-linux]; } ./hosts/hummingbird/configuration.nix nvf.nixosModules.default ./nvf-configuration.nix ]; }; }; homeConfigurations = { "luna@hummingbird" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."x86_64-linux"; extraSpecialArgs = {inherit inputs outputs;}; modules = [ ./home-manager/hummingbird/home.nix ]; }; }; }; }