summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix52
1 files changed, 48 insertions, 4 deletions
diff --git a/flake.nix b/flake.nix
index e3e665e..dad3a4f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,24 +1,68 @@
{
inputs = {
+ home-manager = {
+ url = "github:nix-community/home-manager";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
impermanence.url = "github:nix-community/impermanence";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
noshell = {
url = "github:viperML/noshell";
inputs.nixpkgs.follows = "nixpkgs";
};
+ nur = {
+ url = "github:nix-community/NUR";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ nvf = {
+ url = "github:notashelf/nvf";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ stylix = {
+ url = "github:nix-community/stylix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
};
outputs = {
+ home-manager,
impermanence,
nixpkgs,
noshell,
- self,
+ nur,
+ nvf,
+ stylix,
...
}: let
- system = "x86_64-linux";
+ laptop = import ./machines/laptop.nix;
in {
- nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
- inherit system;
+ nixosConfigurations.${laptop.hostname} = nixpkgs.lib.nixosSystem {
+ system = laptop.system;
+ specialArgs = {machine = laptop;};
modules = [
+ home-manager.nixosModules.home-manager
+ {
+ nixpkgs.overlays = [nur.overlays.default];
+ home-manager.useGlobalPkgs = true;
+ home-manager.extraSpecialArgs = {
+ machine = laptop;
+ };
+ home-manager.users =
+ builtins.mapAttrs
+ (name: value: value)
+ (
+ nixpkgs.legacyPackages.${laptop.system}.lib.genAttrs
+ laptop.usernames
+ (
+ name: {
+ imports = [
+ stylix.homeModules.stylix
+ nvf.homeManagerModules.default
+ ./users/${name}/home.nix
+ ];
+ }
+ )
+ );
+ }
impermanence.nixosModules.impermanence
noshell.nixosModules.default
./configuration.nix