dotfiles/flake.nix

92 lines
2.1 KiB
Nix
Raw Normal View History

2024-10-30 13:51:36 +10:00
{
description = "Emile's Nix Dotfiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
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
};
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
grub2-themes,
colmena,
...
} @ inputs: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = false; # sanity check
};
};
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
# this is just something I'm experimenting with
2025-07-29 14:03:00 +10:00
# PROJECT_ROOT = builtins.toString ./.;
in {
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
];
};
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
specialArgs = {inherit inputs pkgs-unstable;};
modules = [
./hosts/myputer
grub2-themes.nixosModules.default
];
2024-10-30 13:51:36 +10:00
};
# my laptop 0w0
lolcathost = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable;};
modules = [
./hosts/lolcathost
grub2-themes.nixosModules.default
];
2024-10-30 13:51:36 +10:00
};
};
2025-02-11 15:47:56 +10:00
# remote deployment to my servers!!
colmenaHive = colmena.lib.makeHive {
meta = {
nixpkgs = pkgs;
specialArgs = {inherit pkgs-unstable;};
# 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
};
# meine vps
hyrule = import ./hosts/hyrule;
};
};
2024-10-30 13:51:36 +10:00
}