72 lines
1.5 KiB
Nix
72 lines
1.5 KiB
Nix
{
|
|
description = "NixOS System Flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
hyprland = {
|
|
url = "github:hyprwm/Hyprland";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
hyprland-hyprfocus = {
|
|
url = "github:VortexCoyote/hyprfocus";
|
|
inputs.hyprland.follows = "hyprland";
|
|
};
|
|
|
|
# CLI file manager.
|
|
yazi = {
|
|
url = "github:sxyazi/yazi";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Neovim distribution
|
|
astronvim = {
|
|
url = "github:AstroNvim/AstroNvim";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ self
|
|
, home-manager
|
|
, hyprland
|
|
, nixpkgs
|
|
, ...
|
|
} @ inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
in
|
|
{
|
|
nixosConfigurations."nixos" =
|
|
let
|
|
specialArgs = inputs;
|
|
modules = [
|
|
./nixos.nix
|
|
|
|
hyprland.nixosModules.default
|
|
{
|
|
programs.hyprland.enable = true;
|
|
}
|
|
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.extraSpecialArgs = inputs;
|
|
home-manager.users.wizardlink = import ./home-manager.nix;
|
|
}
|
|
];
|
|
in
|
|
nixpkgs.lib.nixosSystem { inherit system specialArgs modules; };
|
|
|
|
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
|
|
};
|
|
}
|