nix/flake.nix
2023-04-19 16:41:56 +10:00

119 lines
2.9 KiB
Nix

{
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
];
};
};
};
}