feat: move things around

This commit is contained in:
eric
2026-03-18 17:41:10 +01:00
parent f558ab4ba9
commit 1de34c1869
22 changed files with 54 additions and 2692 deletions

114
flake.nix
View File

@@ -1,26 +1,23 @@
{
description = "NodeiWest company flake";
description = "NodeiWest employee and workstation flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
colmena.url = "github:zhaofengli/colmena";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
deployment = {
url = "git+file:../nix-deployment";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
self,
nixpkgs,
colmena,
disko,
home-manager,
deployment,
...
}:
let
@@ -31,111 +28,22 @@
"x86_64-linux"
];
forAllSystems = lib.genAttrs supportedSystems;
mkPkgs =
system:
import nixpkgs {
inherit system;
};
mkHost =
name:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs self;
};
modules = [
disko.nixosModules.disko
home-manager.nixosModules.home-manager
self.nixosModules.common
./hosts/${name}/configuration.nix
];
};
in
{
homeManagerModules.default = ./modules/home.nix;
homeManagerModules.helpers = ./modules/helpers/home.nix;
nixosModules.common = ./modules/nixos/common.nix;
packages = forAllSystems (
system:
let
pkgs = mkPkgs system;
nodeiwestHelper = pkgs.callPackage ./pkgs/helpers { };
in
{
colmena = colmena.packages.${system}.colmena;
nodeiwest-helper = nodeiwestHelper;
default = colmena.packages.${system}.colmena;
}
);
packages = forAllSystems (system: {
nodeiwest-helper = deployment.packages.${system}.nodeiwest-helper;
default = self.packages.${system}.nodeiwest-helper;
});
apps = forAllSystems (system: {
colmena = {
type = "app";
program = "${colmena.packages.${system}.colmena}/bin/colmena";
};
nodeiwest-helper = {
type = "app";
program = "${self.packages.${system}.nodeiwest-helper}/bin/nodeiwest";
};
default = self.apps.${system}.colmena;
default = self.apps.${system}.nodeiwest-helper;
});
nixosConfigurations = {
vps1 = mkHost "vps1";
lab = mkHost "lab";
};
colmena = {
meta = {
nixpkgs = mkPkgs "x86_64-linux";
specialArgs = {
inherit inputs self;
};
};
defaults =
{ name, ... }:
{
networking.hostName = name;
imports = [
disko.nixosModules.disko
home-manager.nixosModules.home-manager
self.nixosModules.common
];
};
vps1 = {
deployment = {
targetHost = "100.101.167.118";
targetUser = "root";
tags = [
"company"
"edge"
];
};
imports = [ ./hosts/vps1/configuration.nix ];
};
lab = {
deployment = {
targetHost = "100.101.167.118";
targetUser = "root";
tags = [
"company"
"manager"
];
};
imports = [ ./hosts/lab/configuration.nix ];
};
};
colmenaHive = colmena.lib.makeHive self.outputs.colmena;
};
}