{ description = "nixos config"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; nur.url = "github:/nix-community/NUR"; 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"; declarative-cachix.url = "github:jonascarpay/declarative-cachix"; }; outputs = { self, nixpkgs, home-manager, nur, eww, helix, hyprland, ... }@inputs: let inherit (self) outputs; forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; in rec { # custom packages packages = forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; in import ./pkgs { inherit pkgs; } ); # homepkgs = forAllSystems (system: # let pkgs = nixpkgs.legacyPackages.${system}; # in import ./homepkgs { inherit pkgs; } # ); # any overlays or modules we use overlays = import ./overlay.nix { inherit inputs; }; # nixosModules = import ./modules/nixos; # homeModules = import ./modules/home; nixosConfigurations = { "quiver" = nixpkgs.lib.nixosSystem { # pkgs = nixpkgs.legacyPackages.x86_64-linux; system = "x86_64-linux"; specialArgs = { inherit inputs outputs; }; modules = [ ./system/quiver.nix ]; }; "adrift" = nixpkgs.lib.nixosSystem { # pkgs = nixpkgs.legacyPackages.x86_64-linux; system = "x86_64-linux"; specialArgs = { inherit inputs outputs; }; modules = [ ./system/adrift.nix ]; }; }; homeConfigurations = { "bolt@quiver" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; }; modules = [ nur.nixosModules.nur ./home/bolt.nix ]; }; "plank@adrift" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; }; modules = [ nur.nixosModules.nur ./home/plank.nix ]; }; }; }; }