Files
nixos-config/flake.nix
pagedmov 8c007c3915 Moved scripts to the overlay folder to be used as packages
All scripts have been moved to the overlay folder in the top level directory

Overlay is now instantiated per configuration to make use of the host variable
2024-11-16 03:42:07 -05:00

179 lines
4.8 KiB
Nix
Executable File

{
description = "pagedMov's NixOS and Home Manager configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR";
hypr-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker";
stylix.url = "github:danth/stylix";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
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 = { self, home-manager, nixpkgs, nur, nixvim, stylix, ... }@inputs:
let
system = "x86_64-linux";
username = "pagedmov";
nixpkgsConfig = {
allowUnfree = true;
};
in {
homeConfigurations = {
oganessonHome = let host = "oganesson"; in home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [
(import ./overlay/overlay.nix { inherit host; root = self; })
];
};
extraSpecialArgs = {
inherit host self username inputs;
};
modules = [
./hosts/desktop/home.nix
./modules/home
stylix.homeManagerModules.stylix
nixvim.homeManagerModules.nixvim
nur.nixosModules.nur
];
};
mercuryHome = let host = "mercury"; in home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [
(import ./overlay/overlay.nix { inherit host; root = self; })
];
};
extraSpecialArgs = {
inherit host self username inputs;
};
modules = [
./hosts/laptop/home.nix
./modules/home
stylix.homeManagerModules.stylix
nixvim.homeManagerModules.nixvim
nur.nixosModules.nur
];
};
xenonHome = let host = "xenon"; in home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [
(import ./overlay/overlay.nix { inherit host; root = self; })
];
};
extraSpecialArgs = {
inherit host self username inputs;
};
modules = [
./hosts/server/home.nix
./modules/home/servermodule.nix
nixvim.homeManagerModules.nixvim
];
};
};
nixosConfigurations = {
oganesson = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit self inputs username;
host = "oganesson";
};
inherit system;
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [];
};
modules = [
./hosts/desktop/config.nix
./modules/sys
stylix.nixosModules.stylix
nur.nixosModules.nur
];
};
mercury = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit self inputs username;
host = "mercury";
};
inherit system;
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [];
};
modules = [
./hosts/laptop/config.nix
./modules/sys
stylix.nixosModules.stylix
nur.nixosModules.nur
];
};
xenon = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit self inputs username;
host = "xenon";
};
inherit system;
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [];
};
modules = [
./hosts/server/config.nix
./modules/sys
./modules/server
stylix.nixosModules.stylix
nur.nixosModules.nur
];
};
installer = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "installer";
inherit self inputs;
};
inherit system;
pkgs = import nixpkgs {
inherit system;
config = nixpkgsConfig;
overlays = [];
};
modules = [ ./hosts/installer nixvim.nixosModules.nixvim ];
};
};
};
}