nix/flake.nix

31 lines
1.5 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-24 04:31:40 +02:00
nixos-laptop = libx.mkHost { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; graphics = "nvidia"; };
2023-08-24 03:01:13 +02:00
nixos-desktop = libx.mkHost { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; graphics = "nvidia"; };
2023-08-23 07:30:15 +02:00
};
2023-08-23 15:38:35 +02:00
homeConfigurations = {
2023-08-24 02:50:14 +02:00
"albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; };
2023-08-23 15:09:30 +02:00
"albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; };
2023-08-23 07:30:15 +02:00
};
};
2023-08-24 02:56:55 +02:00
}