118 lines
2.7 KiB
Nix
Executable file
118 lines
2.7 KiB
Nix
Executable file
{
|
|
description = "Emile's Nix Dotfiles";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
|
|
#home-manager = {
|
|
# url = "github:nix-community/home-manager";
|
|
# inputs.nixpkgs.follows = "nixpkgs";
|
|
#};
|
|
|
|
spicetify-nix = {
|
|
url = "github:Gerg-L/spicetify-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
nixcord.url = "github:kaylorben/nixcord";
|
|
|
|
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
|
|
|
# is this necessary? (aren't I enabling it in `configuration.nix` anyways?)
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
|
|
|
hyprpanel = {
|
|
url = "github:Jas-SinghFSU/HyprPanel";
|
|
#inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
swww.url = "github:LGFae/swww";
|
|
|
|
# TODO: declarative flatpak management
|
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
|
|
|
ags.url = "github:Aylur/ags";
|
|
|
|
# colmena.url = "github:zhaofengli/colmena";
|
|
colmena.url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
#home-manager,
|
|
hyprland,
|
|
grub2-themes,
|
|
nixcord,
|
|
hyprpanel,
|
|
colmena,
|
|
...
|
|
} @ inputs: let
|
|
system = "x86_64-linux";
|
|
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {
|
|
allowUnfree = true;
|
|
};
|
|
overlays = [
|
|
inputs.hyprpanel.overlay
|
|
];
|
|
};
|
|
|
|
# TODO: come back to this its really cool
|
|
# this is just something I'm experimenting with
|
|
PROJECT_ROOT = builtins.toString ./.;
|
|
in {
|
|
# `nix develop` shell
|
|
devShells."x86_64-linux".default = pkgs.mkShell {
|
|
buildInputs = [
|
|
#colmena-new
|
|
];
|
|
};
|
|
|
|
nixosConfigurations = {
|
|
# i be on my puter fr
|
|
myputer = nixpkgs.lib.nixosSystem {
|
|
# nix passes these to every single module
|
|
specialArgs = {inherit inputs pkgs;};
|
|
|
|
modules = [
|
|
./hosts/myputer
|
|
grub2-themes.nixosModules.default
|
|
];
|
|
};
|
|
|
|
# my laptop 0w0
|
|
lolcathost = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs pkgs;};
|
|
|
|
modules = [
|
|
./hosts/lolcathost
|
|
grub2-themes.nixosModules.default
|
|
];
|
|
};
|
|
};
|
|
|
|
# remote deployment to my servers!!
|
|
colmenaHive = colmena.lib.makeHive {
|
|
meta = {
|
|
# set nixpkgs global
|
|
nixpkgs = pkgs;
|
|
# set nixpkgs per server
|
|
nodeNixpkgs = {
|
|
hyrule = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
config.allowUnfree = false;
|
|
};
|
|
};
|
|
|
|
# we can use `specialArgs.inputs` to inject wishlist into hyrule's module
|
|
#specialArgs.inputs = with inputs; {inherit wishlist;};
|
|
};
|
|
|
|
# meine vps
|
|
hyrule = import ./hosts/hyrule;
|
|
};
|
|
};
|
|
}
|