nixos-config/configs/nixos/ni/default.nix

68 lines
1.6 KiB
Nix

{ config, pkgs, lib, ... }:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./modules
];
hosts.ni = {
hardware.qol.enable = true;
networking = {
enable = true;
wireguard.enable = true;
};
services.backup.enable = true;
setups = {
desktop.enable = true;
development.enable = true;
music.enable = true;
gaming.enable = true;
};
};
disko.devices = import ./disko.nix {
disks = [ "/dev/nvme0n1" ];
};
services.openssh.hostKeys = [{
path = config.sops.secrets."ssh-key".path;
type = "ed25519";
}];
sops.secrets = lib.private.getSecrets ./secrets/secrets.yaml {
"ssh-key" = { };
};
# The keyfile required for the secrets to be decrypted.
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
# My custom configuration with my custom modules starts here.
profiles = {
archiving.enable = true;
browsers.chromium.enable = true;
filesystem.setups.personal-webstorage.enable = true;
};
# Basically, the most basic nixpkgs configuration.
environment.variables.NIXPKGS_CONFIG = lib.mkForce ./config/nixpkgs/config.nix;
# Enable Nix channels.
nix.channel.enable = true;
# Make Nix experimental.
nix.package = pkgs.nixStable;
# Some more experimentals for Nix.
nix.settings = {
auto-allocate-uids = true;
experimental-features = [ "auto-allocate-uids" ];
};
# My poor achy-breaky desktop can't take it.
nix.daemonCPUSchedPolicy = "idle";
system.stateVersion = "24.05"; # Yes! I read the comment!
}