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
179 lines
4.8 KiB
Nix
Executable File
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 ];
|
|
};
|
|
};
|
|
};
|
|
}
|