2023-03-31 18:27:25 +02:00
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
imports = [
|
2023-04-18 18:27:08 +02:00
|
|
|
|
../common/main.nix
|
2023-03-31 18:27:25 +02:00
|
|
|
|
./hardware-configuration.nix
|
|
|
|
|
|
|
|
|
|
./boot.nix
|
|
|
|
|
./fs.nix
|
|
|
|
|
./gitlab-runner.nix
|
2023-04-05 17:00:01 +02:00
|
|
|
|
./monitoring.nix
|
2023-03-31 18:27:25 +02:00
|
|
|
|
./net.nix
|
2023-04-06 13:57:32 +02:00
|
|
|
|
./nfs.nix
|
2023-04-05 16:59:09 +02:00
|
|
|
|
./overlays.nix
|
2023-04-03 12:51:44 +02:00
|
|
|
|
./slurm.nix
|
2023-03-31 18:27:25 +02:00
|
|
|
|
./ssh.nix
|
|
|
|
|
./users.nix
|
2023-04-05 17:04:42 +02:00
|
|
|
|
|
|
|
|
|
<agenix/modules/age.nix>
|
2023-03-31 18:27:25 +02:00
|
|
|
|
];
|
|
|
|
|
|
2023-04-18 18:28:37 +02:00
|
|
|
|
# Select the this using the ID to avoid mismatches
|
|
|
|
|
boot.loader.grub.device = "/dev/disk/by-id/ata-INTEL_SSDSC2BB240G7_PHDV6462004Y240AGN";
|
|
|
|
|
|
2023-03-31 18:27:25 +02:00
|
|
|
|
systemd.services."serial-getty@ttyS0" = {
|
|
|
|
|
enable = true;
|
|
|
|
|
wantedBy = [ "getty.target" ];
|
|
|
|
|
serviceConfig.Restart = "always";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
time.timeZone = "Europe/Madrid";
|
2023-04-03 12:51:44 +02:00
|
|
|
|
i18n.defaultLocale = "en_DK.UTF-8";
|
2023-03-31 18:27:25 +02:00
|
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
2023-04-03 12:51:44 +02:00
|
|
|
|
vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
|
2023-04-11 20:36:54 +02:00
|
|
|
|
nix-diff ipmitool freeipmi ethtool lm_sensors
|
2023-04-05 17:04:42 +02:00
|
|
|
|
(pkgs.callPackage <agenix/pkgs/agenix.nix> {})
|
2023-03-31 18:27:25 +02:00
|
|
|
|
];
|
|
|
|
|
|
2023-04-11 20:36:54 +02:00
|
|
|
|
environment.variables = {
|
|
|
|
|
EDITOR = "vim";
|
|
|
|
|
VISUAL = "vim";
|
|
|
|
|
};
|
|
|
|
|
|
2023-03-31 18:27:25 +02:00
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
2023-04-05 16:59:09 +02:00
|
|
|
|
nix.settings.sandbox = "relaxed";
|
2023-04-14 10:14:17 +02:00
|
|
|
|
nix.settings.trusted-users = [ "@wheel" ];
|
2023-04-03 12:51:44 +02:00
|
|
|
|
nix.gc.automatic = true;
|
2023-04-11 21:21:22 +02:00
|
|
|
|
nix.gc.dates = "weekly";
|
2023-04-03 12:51:44 +02:00
|
|
|
|
|
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
|
programs.zsh.histSize = 100000;
|
2023-03-31 18:27:25 +02:00
|
|
|
|
|
|
|
|
|
# Copy the NixOS configuration file and link it from the resulting system
|
|
|
|
|
# (/run/current-system/configuration.nix). This is useful in case you
|
|
|
|
|
# accidentally delete configuration.nix.
|
|
|
|
|
system.copySystemConfiguration = true;
|
|
|
|
|
|
|
|
|
|
# This value determines the NixOS release from which the default
|
|
|
|
|
# settings for stateful data, like file locations and database versions
|
|
|
|
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
|
|
|
# this value at the release version of the first install of this system.
|
|
|
|
|
# Before changing this value read the documentation for this option
|
|
|
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
|
|
|
system.stateVersion = "22.11"; # Did you read the comment?
|
|
|
|
|
}
|