{ description = "nixos config"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts = { url = "github:hercues-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; # eww = { # url = "github:elkowar/eww"; # inputs.nixpkgs.follows = "nixpkgs"; # inputs.rust-overlay.follows = "rust-overlay"; # }; # rust-overlay = { # url = "github:oxalica/rust-overlay"; # inputs.nixpkgs.follows = "nixpkgs"; # inputs.flake-utils.follows = "flake-utils"; # }; flake-utils.url = "github:numtide/flake-utils"; helix = { url = "github:helix-editor/helix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.parts.follows = "flake-parts"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland.url = "github:hyprwm/Hyprland"; }; outputs = { self, nixpkgs, home-manager, eww, helix, hyprland, ... }@inputs: let inherit (self) outputs: forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; in rec { # custom packages syspkgs = forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; in import ./syspkgs { inherit pkgs; } ); homepkgs = forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; in import ./homepkgs { inherit pkgs; } ); # any overlays or modules we use # overlays = import ./overlays { inherit inputs; }; # nixosModules = import ./modules/nixos; # homeModules = import ./modules/home; nixosConfigurations = { "quiver" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; modules = [ ./system/configuration.nix ./system/quiver.nix ]; }; "adrift" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; modules = [ ./system/configuration.nix ./system/adrift.nix ] }; }; homeConfigurations = { "bolt@quiver" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; }; modules = [ ./home/home.nix ./home/bolt.nix ]; }; "plank@adrift" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; }; modules = [ ./home/home.nix ./home/plank.nix ]; }; }; }