nixconfigs/flake.nix

66 lines
1.9 KiB
Nix

{
description = "NixOS system flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
nixos-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
home-manager = {
url = "github:nix-community/home-manager/release-23.05";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.3.0";
# deliberately do _not_ follow the nixpkgs input here, because paranoia and test coverage
};
nur.url = "github:nix-community/NUR";
# TODO: possible make this a flake as well
mysecrets = {
flake = false;
url = "git+ssh://gitea@git.orlives.de:2342/schmittlauch/home-manager_secrets.git";
};
};
outputs =
{ self, nixpkgs, nur, lanzaboote, ... }@inputs:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
nixosConfigurations.thinknix = nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./nixos/configuration.nix lanzaboote.nixosModules.lanzaboote ];
# necessary to make the top-level inputs available to system configuration
specialArgs = {
#TODO: for system, consider moving to flake-utils
inherit inputs system;
};
};
homeConfigurations.spiollinux = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
{
imports = [
nur.hmModules.nur
./home/home.nix
];
# extends the home config
home.username = "spiollinux";
home.homeDirectory = "/home/spiollinux";
}
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
extraSpecialArgs = {
#TODO: for system, consider moving to flake-utils
inherit inputs system;
};
};
};
}