66 lines
1.9 KiB
Nix
66 lines
1.9 KiB
Nix
{
|
|
description = "NixOS system flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
|
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.11";
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
}
|