add cerulean compatability

This commit is contained in:
do butterflies cry? 2026-02-08 23:41:05 +10:00
parent e961180371
commit a2192c9341
23 changed files with 239 additions and 688 deletions

139
flake.nix
View file

@ -1,5 +1,5 @@
{
description = "Emile's Nix Dotfiles";
description = "im gonna cry again ;-;";
inputs = {
systems.url = "github:nix-systems/default";
@ -7,12 +7,18 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
colmena = {
url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a";
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
cerulean = {
# url = "github:emilelcb/Cerulean";
url = "/home/me/agribit/nexus/Cerulean";
inputs = {
nixpkgs.follows = "nixpkgs-unstable";
stable.follows = "nixpkgs";
flake-utils.inputs.systems.follows = "systems";
systems.follows = "systems";
nixpkgs.follows = "nixpkgs";
nixpkgs-unstable.follows = "nixpkgs-unstable";
};
};
@ -38,84 +44,63 @@
};
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
cerulean,
home-manager,
grub2-themes,
colmena,
...
} @ inputs: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = false; # sanity check
};
}: let
groups = {
cryde = {}; # oh frick i cried again
server = {};
};
in
cerulean.mkNexus ./. {
nexus = {
inherit groups;
overlays = import ./overlays;
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config = {
# allowUnfree = true; # TODO: bandaid solution... (for minecraft-server)
allowUnfree = false;
};
};
# TODO: come back to this its really cool
# this is just something I'm experimenting with
# ROOT = ./.;
specialArgs = {inherit inputs pkgs-unstable;};
in {
devShells."x86_64-linux".default = pkgs.mkShell {
shell = "${pkgs.bash}/bin/bash";
packages = with pkgs; [
# ./script/* dependencies
mkpasswd
];
};
nixosConfigurations = {
# i be on my puter fr
myputer = nixpkgs.lib.nixosSystem {
# nix passes these to every single module
inherit specialArgs;
modules = [
./hosts/myputer
grub2-themes.nixosModules.default
];
};
# my laptop 0w0
lolcathost = nixpkgs.lib.nixosSystem {
inherit specialArgs;
modules = [
./hosts/lolcathost
grub2-themes.nixosModules.default
];
};
};
# remote deployment to my servers!!
colmenaHive = colmena.lib.makeHive {
meta = {
nixpkgs = pkgs;
inherit specialArgs;
# set nixpkgs per server
nodeNixpkgs = {
hyrule = import nixpkgs {
nodes = {
# my laptop <3 :3
lolcathost = {
system = "x86_64-linux";
config.allowUnfree = false;
groups = [groups.cryde];
extraModules = [
home-manager.nixosModules.default
grub2-themes.nixosModules.default
];
};
# i be on my puter frfr
myputer = {
system = "x86_64-linux";
groups = [groups.cryde];
extraModules = [
home-manager.nixosModules.default
grub2-themes.nixosModules.default
];
};
# courtesy of aurora <3
butterfly = {
system = "x86_64-linux";
groups = [groups.server];
deploy.ssh.host = "dobutterfliescry.net";
};
# pls dont sue me im broke
hyrule = {
system = "x86_64-linux";
groups = [groups.server];
deploy.ssh.host = "hyrule.dobutterfliescry.net";
};
# call me a statistician the way she spreads in my sheets
matcha = {
system = "x86_64-linux";
groups = [groups.server];
deploy.ssh.host = "bedroom.dobutterfliescry.net";
};
};
};
# meine vps
hyrule = import ./hosts/hyrule;
};
};
}