nix/flake.nix

33 lines
1.7 KiB
Nix
Raw Normal View History

2023-08-23 07:30:15 +02:00
{
description = "NixOS System Config";
inputs = {
2023-08-23 07:30:15 +02:00
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
};
2023-08-23 07:30:15 +02:00
outputs = {
2023-08-23 12:49:37 +02:00
self, nixpkgs, home-manager, lanzaboote, nur, sops-nix, ...
}@inputs:
let
2023-08-23 07:30:15 +02:00
inherit (self) outputs;
stateVersion = "unstable";
2023-08-23 14:41:07 +02:00
hmStateVersion = "23.05";
libx = import ./lib { inherit inputs outputs stateVersion hmStateVersion; };
in {
nixosConfigurations = {
2023-08-23 10:13:00 +02:00
nixos-laptop = libx.mkHost { hostname = "nixos-laptop"; username = "albert"; desktop = "gnome"; };
nixos-desktop = libx.mkHost { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
2023-08-23 07:30:15 +02:00
};
homeConfigurations = {
"albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "gnome"; };
2023-08-23 12:24:47 +02:00
"root@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "root"; desktop = "gnome"; };
2023-08-23 07:30:15 +02:00
"albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
2023-08-23 12:24:47 +02:00
"root@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "root"; desktop = "gnome"; };
2023-08-23 07:30:15 +02:00
};
};
2023-08-23 13:06:23 +02:00
}