dotfiles/NixOS/flake.nix

57 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
type = "git";
url = "https://github.com/hyprwm/Hyprland";
submodules = true;
};
waybar = {
type = "git";
url = "https://github.com/thomasave/Waybar";
submodules = true;
};
split-monitor-workspaces = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";
};
};
outputs =
{ self
, nixpkgs
, home-manager
, split-monitor-workspaces
, ...
}@inputs:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; # allows access to flake inputs in nixos modules
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager = {
extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules
useGlobalPkgs = true;
useUserPackages = true;
users.user = {
imports = [ ./home.nix ];
};
};
}
];
};
};
};
}