{ description = "Nixos config flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; # nixvim = { # url = "github:nix-community/nixvim"; # inputs.nixpkgs.follows = "nixpkgs"; # }; nixvim-config = { type = "gitlab"; owner = "MFlossmann"; repo = "nixvim_config"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, ... } @ inputs: let # basic boilerplate-reducing lib with a bunch of functions helperLib = import ./helperLib/default.nix {inherit inputs;}; nixvim_config = inputs.nixvim_config; in { packages = helperLib.forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); formatter = helperLib.forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); nixosConfigurations = { remus = helperLib.mkSystem ./hosts/remus/configuration.nix; muffinman = helperLib.mkSystem ./hosts/muffinman/configuration.nix; }; homeConfigurations = { "prunebutt@remus" = helperLib.mkHome "x86_64-linux" ./hosts/remus/home.nix; "prunebutt@muffinman" = helperLib.mkHome "x86_64-linux" ./hosts/muffinman/home.nix; }; homeManagerModules.default = ./modules/home; nixosModules.default = ./modules/nixOS; # overlays.additions = # (final: prev: { # neovim = nixvim_config.packages.${prev.system}.default; # }); }; }