30 lines
1.5 KiB
Nix
30 lines
1.5 KiB
Nix
{
|
|
description = "NixOS System Config";
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-unstable"; # NixOS packages
|
|
home-manager.url = "github:nix-community/home-manager/master"; # Manage dotfiles in a home directory
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
lanzaboote.url = "github:nix-community/lanzaboote"; # Secureboot Configuration
|
|
lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
|
|
nur.url = "github:nix-community/NUR"; # Nix User Repository
|
|
sops-nix.url = "github:Mic92/sops-nix"; # Encrypted secrets in Nix configuration files
|
|
};
|
|
outputs = {
|
|
self, nixpkgs, home-manager, lanzaboote, nur, sops-nix, ...
|
|
}@inputs:
|
|
let
|
|
inherit (self) outputs;
|
|
stateVersion = "unstable";
|
|
hmStateVersion = "23.11";
|
|
libx = import ./lib { inherit inputs outputs stateVersion hmStateVersion; };
|
|
in {
|
|
nixosConfigurations = {
|
|
nixos-laptop = libx.mkHost { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; gpu = "intel"; };
|
|
nixos-desktop = libx.mkHost { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; gpu = "nvidia"; };
|
|
};
|
|
homeConfigurations = {
|
|
"albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; };
|
|
"albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
|
|
};
|
|
};
|
|
}
|