63 lines
No EOL
1.6 KiB
Nix
63 lines
No EOL
1.6 KiB
Nix
{ modulesPath, config, pkgs, hostName, ... }:
|
|
|
|
let
|
|
|
|
admin = "toph";
|
|
password = "[REDACTED]";
|
|
timeZone = "America/New_York";
|
|
defaultLocale = "en_US.UTF-8";
|
|
|
|
in {
|
|
## TIMEZONE & LOCALE ##
|
|
time.timeZone = timeZone;
|
|
i18n.defaultLocale = defaultLocale;
|
|
|
|
## USERS ##
|
|
users.mutableUsers = false;
|
|
users.users."${admin}" = {
|
|
isNormalUser = true;
|
|
createHome = true;
|
|
homeMode = "750";
|
|
home = "/home/${admin}";
|
|
password = password;
|
|
extraGroups = [ "wheel" ];
|
|
shell = pkgs.fish;
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIClZstYoT64zHnGfE7LMYNiQPN5/gmCt382lC+Ji8lrH PVE"
|
|
];
|
|
};
|
|
|
|
# INFO: Enable passwordless sudo.
|
|
security.sudo.extraRules = [{
|
|
users = [ admin ];
|
|
commands = [{
|
|
command = "ALL" ;
|
|
options = [ "NOPASSWD" ];
|
|
}];
|
|
}];
|
|
|
|
## PROGRAMS & SERVICES ##
|
|
# Shells
|
|
environment.shells = with pkgs; [ bash fish ];
|
|
programs.fish.enable = true;
|
|
|
|
## NETWORKING ##
|
|
networking = {
|
|
dhcpcd.enable = false;
|
|
hostName = hostName;
|
|
networkmanager.enable = true;
|
|
useDHCP = true;
|
|
useHostResolvConf = false;
|
|
usePredictableInterfaceNames = true;
|
|
};
|
|
|
|
## NIXOS ##
|
|
systemd.tmpfiles.rules = [
|
|
"d /home/toph/git 0750 toph users -"
|
|
];
|
|
# forces interfaces to be named predictably
|
|
# This value determines the NixOS release with which your system is to be
|
|
system.stateVersion = "24.11";
|
|
# Enable Flakes
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
} |