{ description = "System Wide Config Controller"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; # implement at some point (So I can push repo public) sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixvim, home-manager, impermanence, sops-nix, firefox-addons }@inputs: { nixosConfigurations.default = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./configuration.nix ./hardware-configuration.nix impermanence.nixosModules.impermanence sops-nix.nixosModules.sops home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.roy = { ... }: { imports = [ ./home.nix nixvim.homeManagerModules.nixvim impermanence.homeManagerModules.impermanence sops-nix.homeManagerModules.sops ]; }; } ]; }; }; }