nix/flake.nix
2023-08-31 20:22:44 +09:00

40 lines
1.5 KiB
Nix

{
description = "NixOS System Config";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
lanzaboote.url = "github:nix-community/lanzaboote";
lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
nur.url = "github:nix-community/NUR";
sops-nix.url = "github:Mic92/sops-nix";
doom-emacs.url = "github:nix-community/nix-doom-emacs";
};
outputs = {
self, nixpkgs, nixpkgs-wayland, home-manager, lanzaboote, nur, sops-nix, doom-emacs, ...
}@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"; theme = "gruvbox";
};
nixos-desktop = libx.mkHost {
hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; gpu = "nvidia"; theme = "gruvbox";
};
};
homeConfigurations = {
"albert@nixos-laptop" = libx.mkHome {
hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; theme = "gruvbox";
};
"albert@nixos-desktop" = libx.mkHome {
hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; theme = "gruvbox";
};
};
};
}