2023-12-20 15:19:01 -06:00
|
|
|
{
|
|
|
|
description = "rndusr's nixos flake";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager/release-23.11";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-21 17:22:54 -06:00
|
|
|
firefox-addons = {
|
|
|
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
2023-12-22 18:27:03 -06:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-12-21 15:26:09 -06:00
|
|
|
};
|
2024-01-18 05:07:53 -06:00
|
|
|
simple-nixos-mailserver = {
|
|
|
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11";
|
|
|
|
};
|
2023-12-20 15:19:01 -06:00
|
|
|
};
|
|
|
|
|
2024-01-24 23:27:38 -06:00
|
|
|
outputs = { self, nixpkgs, home-manager, firefox-addons, simple-nixos-mailserver, ... }@inputs: {
|
2023-12-20 15:45:45 -06:00
|
|
|
nixosConfigurations = {
|
2024-01-18 04:28:32 -06:00
|
|
|
netbox = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./boxes/netbox
|
2024-01-18 05:07:53 -06:00
|
|
|
simple-nixos-mailserver.nixosModule
|
|
|
|
{
|
|
|
|
mailserver = {
|
|
|
|
enable = true;
|
2024-01-18 04:28:32 -06:00
|
|
|
fqdn = "mail.beepboop.systems";
|
|
|
|
domains = [ "beepboop.systems" ];
|
|
|
|
loginAccounts = {
|
|
|
|
"ryan@beepboop.systems" = {
|
|
|
|
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt' > /hashed/password/file/location
|
|
|
|
hashedPasswordFile = "/etc/ryan-beepboop-systemsuser-pass";
|
|
|
|
|
|
|
|
aliases = [
|
|
|
|
"info@beepboop.systems"
|
|
|
|
"postmaster@beepboop.systems"
|
|
|
|
];
|
|
|
|
};
|
2024-01-18 05:07:53 -06:00
|
|
|
};
|
2024-01-18 04:28:32 -06:00
|
|
|
certificateScheme = "acme-nginx";
|
2024-01-18 05:07:53 -06:00
|
|
|
};
|
|
|
|
}
|
2024-01-18 04:28:32 -06:00
|
|
|
];
|
|
|
|
};
|
2024-01-24 19:06:57 -06:00
|
|
|
mlg = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./boxes/mlg
|
|
|
|
|
|
|
|
home-manager.nixosModules.home-manager {
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
|
|
home-manager.users.usr = import ./boxes/mlg/home.nix;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-12-20 15:45:45 -06:00
|
|
|
virtbox = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-12-21 17:22:54 -06:00
|
|
|
specialArgs = { inherit inputs; };
|
2023-12-20 15:45:45 -06:00
|
|
|
modules = [
|
2023-12-28 15:27:31 -06:00
|
|
|
./boxes/virtbox
|
2024-01-09 08:05:49 -06:00
|
|
|
|
|
|
|
home-manager.nixosModules.home-manager {
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
|
|
home-manager.users.usr = import ./boxes/virtbox/home.nix;
|
|
|
|
}
|
2023-12-20 15:45:45 -06:00
|
|
|
];
|
|
|
|
};
|
2024-01-07 22:16:14 -06:00
|
|
|
x230t = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./boxes/x230t
|
2024-01-09 08:05:49 -06:00
|
|
|
|
|
|
|
home-manager.nixosModules.home-manager {
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
|
|
home-manager.users.usr = import ./boxes/x230t/home.nix;
|
|
|
|
}
|
2024-01-07 22:16:14 -06:00
|
|
|
];
|
|
|
|
};
|
2023-12-28 15:59:44 -06:00
|
|
|
mainsail = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./boxes/mainsail
|
|
|
|
];
|
|
|
|
};
|
2023-12-20 15:19:01 -06:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|