Files
nixos/flake.nix
T
lsoriano-mcm e6103c3153 upd
2025-06-06 07:39:53 -05:00

83 lines
2.2 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; # `follows` ensure it follows nixpkgs versiona. Avoids breaking updates.
darwin.url = "github:lnl7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs";
ags.url = "github:aylur/ags";
ags.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git";
unlisted-fonts.inputs.nixpkgs.follows = "nixpkgs";
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
nix-neovim.url = "git+https://git.sakamoto.dev/kenji/nix-neovim.git";
nix-neovim.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {
nixpkgs,
home-manager,
darwin,
ags,
hyprland,
unlisted-fonts,
nix-neovim,
...
} @ inputs: let
info = import ./info.nix;
lib = nixpkgs.lib;
system = pkgs: pkgs.stdenv.hostPlatform.system;
# pkgs = nixpkgs.legacyPackages.${system}; # alternative, without overlays. Unused.
args =
{
inherit inputs system;
}
// info;
in {
nixosConfigurations = {
desktop = lib.nixosSystem {
inherit system;
specialArgs = args;
modules = [
./nixos/desktop/configuration.nix
];
};
};
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [
./nixos/macos/darwin.nix
# home-manager.darwinModules.home-manager
];
};
};
homeConfigurations = {
desktop = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
overlays = [
# (final: prev: {
# ags_1 = prev.ags_1.overrideAttrs (old: {
# buildInputs = old.buildInputs ++ [pkgs.libdbusmenu-gtk3];
# });
# })
];
};
extraSpecialArgs = args;
modules = [./home/desktop/home.nix];
};
};
};
}