{ description = "Laptop Flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; nixpkgs.follows = "nixos-cosmic/nixpkgs"; nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-flatpak.url = "github:gmodena/nix-flatpak"; hyprland.url = "github:hyprwm/Hyprland"; hyprgrass = { url = "github:horriblename/hyprgrass"; inputs.hyprland.follows = "hyprland"; # IMPORTANT }; }; outputs = { nixpkgs, nixos-cosmic, nix-flatpak, hyprpanel, home-manager, nixvim, ... }@inputs: { nixosConfigurations = { nixos-laptop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit nixvim;}; specialArgs.inputs = inputs; modules = [ { nix.settings = { substituters = [ "https://cosmic.cachix.org/" ]; trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; }; nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; _module.args = { inherit inputs; }; } nixos-cosmic.nixosModules.default ./configuration.nix nix-flatpak.nixosModules.nix-flatpak home-manager.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.joshuaelm = { imports = [ ./home.nix nixvim.homeManagerModules.nixvim]; }; } ]; }; }; }; }