dotfiles/flake.nix

83 lines
2 KiB
Nix
Executable file

{
description = "Emile's Nix Dotfiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
#stylix.url = "github:danth/stylix";
nixcord = { url = "github:kaylorben/nixcord"; };
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
grub2-themes = { url = "github:vinceliuice/grub2-themes"; };
# is this necessary? (aren't I enabling it in `configuration.nix` anyways?)
hyprland.url = "github:hyprwm/Hyprland";
swww.url = "github:LGFae/swww";
};
outputs = { self, nixpkgs, home-manager, hyprland, grub2-themes, nixvim
, nixcord,
#stylix,
... }@inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
# this is just something I'm experimenting with
PROJECT_ROOT = builtins.toString ./.;
in {
nixosConfigurations = {
# i be on my puter fr
myputer = nixpkgs.lib.nixosSystem {
# nix passes these to every single module above
specialArgs = { inherit inputs pkgs; };
modules = [
./hosts/myputer
grub2-themes.nixosModules.default
#stylix.nixosModules.stylix
];
};
# my laptop 0w0
lolcathost = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs pkgs; };
modules = [ ./hosts/lolcathost ];
};
};
homeConfigurations = {
me = home-manager.lib.homeManagerConfiguration {
specialArgs = { inherit inputs; };
modules = [
./home/me
#nixcord.homeManagerModules.nixcord
#nixvim.homeManagerModules.nixvim
];
};
};
};
}