Files
nixos-config/flake.nix

79 lines
1.9 KiB
Nix
Executable File

{
description = "pagedMov's NixOS and Home Manager configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hypr-contrib.url = "github:hyprwm/contrib";
copyparty.url = "github:9001/copyparty";
hyprpicker.url = "github:hyprwm/hyprpicker";
stylix.url = "github:danth/stylix";
disko.url = "github:nix-community/disko";
fern.url = "github:km-clay/fern";
nixvim.url = "github:nix-community/nixvim";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
type = "git";
url = "https://github.com/hyprwm/Hyprland";
submodules = true;
};
spicetify-nix = {
url = "github:gerg-l/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { ... }@inputs:
let
movLib = import ./lib {
inherit inputs;
username = "pagedmov";
};
hosts = movLib.foldHosts [
{
host = "oganesson";
hostDir = "desktop";
kind = "both";
}
{
host = "mercury";
hostDir = "laptop";
kind = "both";
}
{
host = "xenon";
hostDir = "server";
kind = "both";
extraNixosModules = [
./modules/server
];
}
{
host = "phosphorous";
hostDir = "work";
kind = "both";
extraNixosModules = [
inputs.fern.nixosModules.fern
inputs.copyparty.nixosModules.default
];
extraHomeModules = [
inputs.fern.homeModules.fern
];
extraOverlays = [
inputs.fern.overlays.default
inputs.copyparty.overlays.default
];
}
];
in {
inherit (hosts) nixosConfigurations homeConfigurations;
};
}