flake/flake.nix
2024-11-30 11:59:46 +00:00

65 lines
1.8 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.url = "github:danth/stylix";
# nix-minecraft.url = "git+ssh://git@codeberg.org/nix-astral/nix-minecraft.git";
nix-minecraft.url = "git+https://codeberg.org/nix-astral/nix-minecraft.git";
shabitica.url = "github:lomenzel/shabitica";
actual.url = "git+https://git.xeno.science/xenofem/actual-nix.git";
nix-alien.url = "github:thiagokokada/nix-alien";
};
outputs = inputs@{ nixpkgs, home-manager, stylix, ... }:
let
system = "x86_64-linux";
pkgs = import inputs.nixpkgs { inherit system; };
utils = import ./utils.nix { inherit inputs system; };
in {
nixosConfigurations = {
# desktop
muon = utils.mkHost ./hosts/muon/configuration.nix;
# laptop
muop = utils.mkHost ./hosts/muop/configuration.nix;
# vps
muho = utils.mkHost ./hosts/muho/configuration.nix;
# vps
mups = utils.mkHost ./hosts/mups/configuration.nix;
# vm
muvm = utils.mkHost ./hosts/muvm/configuration.nix;
};
homeManagerModules.default = ./modules/home;
colmena = {
meta = {
nixpkgs = import inputs.nixpkgs { inherit system; };
specialArgs = { inherit nixpkgs inputs system; };
};
# Remote host name
"mups" = { name, nodes, ... }: {
deployment.targetHost = "muon.host"; # SSH IP
deployment.targetUser = "root"; # SSH username
# modules
imports = [
./hosts/mups/configuration.nix
./modules/nixos
inputs.home-manager.nixosModules.default
inputs.stylix.nixosModules.stylix
];
};
};
};
}