nixos-config/flake.nix
2023-02-23 15:18:55 +01:00

59 lines
1.9 KiB
Nix

{
description = "My nix setup";
inputs = {
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
home-manager.url = github:nix-community/home-manager;
hyprland.url = github:hyprwm/Hyprland;
sops-nix.url = github:Mic92/sops-nix;
nix-colors.url = github:Misterio77/nix-colors;
hyprpaper.url = github:hyprwm/hyprpaper;
nixos-hardware.url = github:nixos/nixos-hardware;
nixvim.url = github:pta2002/nixvim;
home-manager.inputs.nixpkgs.follows = "nixpkgs";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
hyprpaper.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, home-manager, hyprland, hyprpaper, sops-nix, nix-colors, nixos-hardware, nixvim }@attrs: {
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
nixosConfigurations = {
thinkpad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
./hosts/thinkpad
./users/rouven
nixos-hardware.nixosModules.common-pc-laptop-ssd
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
{
home-manager.extraSpecialArgs = attrs;
home-manager.users.rouven = {
imports = [
nix-colors.homeManagerModule
hyprland.homeManagerModules.default
nixvim.homeManagerModules.nixvim
];
config = {
colorScheme = nix-colors.colorSchemes.dracula;
};
};
}
];
};
nuc = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
nixos-hardware.nixosModules.intel-nuc-8i7beh
./hosts/nuc
sops-nix.nixosModules.sops
];
};
};
};
}