2024-10-30 13:51:36 +10:00
|
|
|
{
|
|
|
|
|
description = "Emile's Nix Dotfiles";
|
|
|
|
|
|
|
|
|
|
inputs = {
|
2025-07-19 23:19:15 +10:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
2025-08-03 00:48:52 +10:00
|
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2024-11-07 17:37:15 +10:00
|
|
|
|
2025-02-19 12:14:25 +10:00
|
|
|
colmena.url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a";
|
2025-11-01 13:21:55 +10:00
|
|
|
|
|
|
|
|
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
2024-10-30 13:51:36 +10:00
|
|
|
};
|
|
|
|
|
|
2024-11-08 01:00:21 +10:00
|
|
|
outputs = {
|
|
|
|
|
self,
|
|
|
|
|
nixpkgs,
|
2025-08-03 00:48:52 +10:00
|
|
|
nixpkgs-unstable,
|
2024-11-08 01:00:21 +10:00
|
|
|
grub2-themes,
|
2025-02-13 14:47:33 +10:00
|
|
|
colmena,
|
2024-11-08 01:00:21 +10:00
|
|
|
...
|
|
|
|
|
} @ inputs: let
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
|
|
|
|
|
pkgs = import nixpkgs {
|
|
|
|
|
inherit system;
|
2025-02-12 23:39:02 +10:00
|
|
|
config = {
|
2025-07-19 23:24:33 +10:00
|
|
|
allowUnfree = false; # sanity check
|
2025-02-12 23:39:02 +10:00
|
|
|
};
|
2024-11-08 01:00:21 +10:00
|
|
|
};
|
2025-08-03 00:48:52 +10:00
|
|
|
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config = {
|
|
|
|
|
allowUnfree = true; # TODO: bandaid solution... (for minecraft-server)
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-12 20:03:33 +10:00
|
|
|
# TODO: come back to this its really cool
|
2024-11-08 01:00:21 +10:00
|
|
|
# this is just something I'm experimenting with
|
2025-07-29 14:03:00 +10:00
|
|
|
# PROJECT_ROOT = builtins.toString ./.;
|
2024-11-08 01:00:21 +10:00
|
|
|
in {
|
2025-02-12 23:39:02 +10:00
|
|
|
devShells."x86_64-linux".default = pkgs.mkShell {
|
2025-07-29 14:03:00 +10:00
|
|
|
shell = "${pkgs.bash}/bin/bash";
|
|
|
|
|
|
|
|
|
|
packages = with pkgs; [
|
|
|
|
|
# ./script/* dependencies
|
|
|
|
|
mkpasswd
|
2025-02-12 14:33:38 +10:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2024-11-08 01:00:21 +10:00
|
|
|
nixosConfigurations = {
|
|
|
|
|
# i be on my puter fr
|
|
|
|
|
myputer = nixpkgs.lib.nixosSystem {
|
2025-02-11 15:47:56 +10:00
|
|
|
# nix passes these to every single module
|
2025-08-31 15:00:45 +10:00
|
|
|
specialArgs = {inherit inputs pkgs-unstable;};
|
2024-11-08 01:00:21 +10:00
|
|
|
|
|
|
|
|
modules = [
|
|
|
|
|
./hosts/myputer
|
|
|
|
|
grub2-themes.nixosModules.default
|
|
|
|
|
];
|
2024-10-30 13:51:36 +10:00
|
|
|
};
|
|
|
|
|
|
2024-11-08 01:00:21 +10:00
|
|
|
# my laptop 0w0
|
|
|
|
|
lolcathost = nixpkgs.lib.nixosSystem {
|
2025-08-31 15:00:45 +10:00
|
|
|
specialArgs = {inherit inputs pkgs-unstable;};
|
2024-11-08 01:00:21 +10:00
|
|
|
|
|
|
|
|
modules = [
|
|
|
|
|
./hosts/lolcathost
|
2024-11-10 23:10:51 +10:00
|
|
|
grub2-themes.nixosModules.default
|
2024-11-08 01:00:21 +10:00
|
|
|
];
|
2024-10-30 13:51:36 +10:00
|
|
|
};
|
2025-02-12 14:33:38 +10:00
|
|
|
};
|
2025-02-11 15:47:56 +10:00
|
|
|
|
2025-02-12 14:33:38 +10:00
|
|
|
# remote deployment to my servers!!
|
2025-02-13 14:47:33 +10:00
|
|
|
colmenaHive = colmena.lib.makeHive {
|
2025-02-12 14:33:38 +10:00
|
|
|
meta = {
|
|
|
|
|
nixpkgs = pkgs;
|
2025-08-03 00:48:52 +10:00
|
|
|
specialArgs = {inherit pkgs-unstable;};
|
|
|
|
|
|
2025-02-12 14:33:38 +10:00
|
|
|
# set nixpkgs per server
|
2025-02-19 12:14:25 +10:00
|
|
|
nodeNixpkgs = {
|
|
|
|
|
hyrule = import nixpkgs {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
config.allowUnfree = false;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-02-11 15:47:56 +10:00
|
|
|
};
|
2025-02-12 14:33:38 +10:00
|
|
|
|
|
|
|
|
# meine vps
|
|
|
|
|
hyrule = import ./hosts/hyrule;
|
2024-11-08 01:00:21 +10:00
|
|
|
};
|
|
|
|
|
};
|
2024-10-30 13:51:36 +10:00
|
|
|
}
|