2024-07-24 15:49:31 -04:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
self,
|
|
|
|
...
|
|
|
|
}: let
|
2024-11-18 12:30:54 -05:00
|
|
|
inherit (config.vars) mainUser;
|
2024-01-09 13:13:04 -05:00
|
|
|
in {
|
2024-07-14 22:59:33 -04:00
|
|
|
# ------------------------------------------------
|
|
|
|
# Imports
|
|
|
|
# ------------------------------------------------
|
2023-12-23 02:33:26 -05:00
|
|
|
imports = [
|
|
|
|
./hardware-configuration.nix
|
|
|
|
|
2024-09-05 08:17:23 -04:00
|
|
|
./modules
|
2024-07-24 15:49:31 -04:00
|
|
|
|
|
|
|
self.nixosModules.docker
|
2024-08-02 22:32:29 -04:00
|
|
|
self.nixosModules.kmscon
|
|
|
|
self.nixosModules.server
|
2023-12-23 02:33:26 -05:00
|
|
|
];
|
|
|
|
|
2024-07-14 22:59:33 -04:00
|
|
|
# State Version: DO NOT CHANGE
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
|
|
|
|
# ------------------------------------------------
|
|
|
|
# User Settings
|
|
|
|
# ------------------------------------------------
|
2024-11-22 17:58:24 -05:00
|
|
|
vars.mainUser = "matt";
|
2023-12-23 02:33:26 -05:00
|
|
|
|
2023-12-29 16:51:52 -05:00
|
|
|
users.users = {
|
2024-01-09 13:13:04 -05:00
|
|
|
${mainUser} = {
|
2023-12-29 16:51:52 -05:00
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [
|
|
|
|
"wheel"
|
|
|
|
"adm"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2023-12-30 00:06:27 -05:00
|
|
|
# https://nixos.wiki/wiki/Distributed_build
|
2023-12-29 16:51:52 -05:00
|
|
|
nixremote = {
|
|
|
|
isNormalUser = true;
|
|
|
|
createHome = true;
|
|
|
|
home = "/var/lib/nixremote";
|
|
|
|
homeMode = "500";
|
|
|
|
|
|
|
|
openssh.authorizedKeys.keys = [
|
2024-05-17 16:13:27 -04:00
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGOujvC5JLnyjqD1bzl/H0256Gxw/biu7spIHy3YJiDL"
|
2023-12-29 16:51:52 -05:00
|
|
|
];
|
|
|
|
};
|
2023-12-23 02:33:26 -05:00
|
|
|
};
|
2023-12-29 16:51:52 -05:00
|
|
|
|
2023-12-23 02:33:26 -05:00
|
|
|
networking = {
|
2024-11-18 12:30:54 -05:00
|
|
|
hostName = "servivi";
|
2023-12-23 02:33:26 -05:00
|
|
|
resolvconf.enable = true;
|
|
|
|
firewall.enable = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
time.timeZone = "America/Montreal";
|
|
|
|
|
2024-07-14 22:59:33 -04:00
|
|
|
# ------------------------------------------------
|
|
|
|
# `Self` Modules configuration
|
|
|
|
# ------------------------------------------------
|
2024-08-02 22:32:29 -04:00
|
|
|
roles.server = {
|
|
|
|
user = mainUser;
|
|
|
|
tailscale.enable = true;
|
|
|
|
sshd.enable = true;
|
|
|
|
};
|
|
|
|
|
2024-09-05 08:53:54 -04:00
|
|
|
khepri.enable = true;
|
2024-08-02 22:32:29 -04:00
|
|
|
services.kmscon.enable = true;
|
2024-11-22 13:33:05 -05:00
|
|
|
|
|
|
|
home-manager.users.${mainUser} = {
|
2024-11-22 17:58:24 -05:00
|
|
|
imports = [
|
|
|
|
self.homeManagerModules.neovim
|
|
|
|
self.homeManagerModules.shell
|
|
|
|
];
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
bash = {
|
|
|
|
enable = true;
|
|
|
|
promptMainColor = "blue";
|
|
|
|
};
|
2024-11-22 13:33:05 -05:00
|
|
|
|
2024-11-22 17:58:24 -05:00
|
|
|
neovim = {
|
|
|
|
enable = true;
|
|
|
|
enableIde = true;
|
|
|
|
user = mainUser;
|
|
|
|
};
|
2024-11-22 13:33:05 -05:00
|
|
|
};
|
|
|
|
};
|
2023-12-23 02:33:26 -05:00
|
|
|
}
|