nix/flake.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/release-23.05"; # 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.05";
libx = import ./lib { inherit inputs outputs stateVersion; };
in {
nixosConfigurations = {
nixos-laptop = libx.nixosSystem { hostname = "nixos-laptop"; username = "albert"; desktop = "gnome"; };
nixos-desktop = libx.nixosSystem { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
};
homeConfigurations = {
"albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "gnome"; };
"albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
};
};
}