2024-04-28 15:25:40 +00:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
config,
|
|
|
|
flake,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./nix.nix
|
|
|
|
./networking.nix
|
|
|
|
./terminal-tooling.nix
|
|
|
|
./users.nix
|
|
|
|
];
|
|
|
|
|
2024-05-19 13:27:19 +00:00
|
|
|
options.pub-solar-os =
|
|
|
|
let
|
|
|
|
inherit (lib) mkOption types;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
adminEmail = mkOption {
|
|
|
|
description = "Email address to use for administrative stuff like ACME";
|
|
|
|
type = types.str;
|
|
|
|
default = "admins@pub.solar";
|
|
|
|
};
|
2024-05-08 17:47:47 +00:00
|
|
|
|
2024-05-19 13:27:19 +00:00
|
|
|
privacyPolicyUrl = mkOption {
|
|
|
|
description = "URL of the privacy policy. Used to link there from applications";
|
|
|
|
type = types.str;
|
|
|
|
default = "https://pub.solar/privacy";
|
|
|
|
};
|
2024-05-08 17:47:47 +00:00
|
|
|
|
2024-05-19 13:27:19 +00:00
|
|
|
imprintUrl = mkOption {
|
|
|
|
description = "URL of the imprint. Used to link there from applications";
|
|
|
|
type = types.str;
|
|
|
|
default = "https://pub.solar/about";
|
|
|
|
};
|
2024-05-08 17:47:47 +00:00
|
|
|
};
|
2024-04-28 15:25:40 +00:00
|
|
|
|
|
|
|
config = {
|
|
|
|
environment = {
|
|
|
|
# Just a couple of global packages to make our lives easier
|
|
|
|
systemPackages = with pkgs; [
|
|
|
|
git
|
|
|
|
vim
|
|
|
|
wget
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
# Select internationalization properties
|
|
|
|
console = {
|
|
|
|
font = "Lat2-Terminus16";
|
|
|
|
keyMap = "us";
|
|
|
|
};
|
|
|
|
|
|
|
|
time.timeZone = "Etc/UTC";
|
|
|
|
|
|
|
|
home-manager.users.${config.pub-solar-os.authentication.username} = {
|
|
|
|
home.stateVersion = "23.05";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|