nixdots/hosts/herugrim/default.nix

114 lines
2.5 KiB
Nix
Raw Permalink Normal View History

2024-04-07 12:38:24 +00:00
{
2024-07-26 23:07:07 +00:00
lib,
pkgs,
...
}: {
2024-04-07 12:38:24 +00:00
imports = [
./hardware-configuration.nix
];
2024-07-26 23:07:07 +00:00
boot.supportedFilesystems = ["btrfs"];
2024-04-07 12:38:24 +00:00
2024-04-12 18:57:52 +00:00
# My flake disables this by default for security reasons. However,
# with an encrypted setup, which requires entering password before
# booting anyways, this is not a security concern, and changing the
# kernel params can be useful for debugging.
boot.loader.systemd-boot.editor = true;
2024-04-07 12:38:24 +00:00
nix.settings = {
max-jobs = 6;
cores = 6;
};
# NixOS release from which this machine was first installed.
# (for stateful data, like file locations and db versions)
# Leave this alone!
system.stateVersion = lib.mkForce "23.11";
services.openssh.settings.PasswordAuthentication = lib.mkForce true;
myOptions = {
system = {
hostname = "herugrim";
username = "itsdrike";
2024-04-07 16:28:15 +00:00
2024-05-15 19:24:55 +00:00
sound.enable = true;
2024-04-07 22:36:02 +00:00
impermanence = {
root = {
enable = true;
# Some people use /nix/persist/system for this, leaving persistent files in /nix subvolume
# I much prefer using a standalone subvolume for this though.
persistentMountPoint = "/persist";
};
2024-04-07 16:28:15 +00:00
# Configure automatic root subvolume wiping on boot from initrd
2024-04-07 22:36:02 +00:00
autoWipeBtrfs = {
enable = true;
2024-07-26 23:07:07 +00:00
devices."/dev/disk/by-label/NIXROOT".subvolumes = ["root"];
2024-04-07 16:28:15 +00:00
};
};
2024-04-12 16:25:26 +00:00
2024-04-12 18:57:52 +00:00
boot = {
secure-boot.enable = true;
tmpOnTmpfs = true;
};
2024-04-07 12:38:24 +00:00
};
2024-04-07 16:28:15 +00:00
2024-04-07 12:38:24 +00:00
device = {
2024-04-13 18:10:01 +00:00
roles = {
type = "laptop";
virtual-machine = false;
};
cpu.type = "amd";
2024-06-10 11:54:03 +00:00
gpu.type = "hybrid-nvidia";
2024-04-12 19:38:05 +00:00
hasTPM = true;
2024-06-23 22:27:54 +00:00
bluetooth.enable = true;
2024-04-07 12:38:24 +00:00
};
2024-04-07 16:28:15 +00:00
2024-04-15 20:47:54 +00:00
security = {
auditd = {
enable = true;
autoPrune.enable = true;
};
};
2024-04-13 19:15:25 +00:00
workstation = {
printing.enable = true;
};
2024-04-07 12:38:24 +00:00
home-manager = {
2024-04-07 14:54:36 +00:00
enable = true;
2024-04-07 12:38:24 +00:00
stateVersion = "23.11";
2024-04-07 12:38:24 +00:00
git = {
userName = "ItsDrike";
userEmail = "itsdrike@protonmail.com";
signing = {
2024-04-16 09:55:53 +00:00
enable = true;
2024-04-07 12:38:24 +00:00
key = "FA2745890B7048C0";
};
};
wms.hyprland = {
enable = true;
monitor = [
"eDP-1, 1920x1080@60, 0x0, 1"
];
};
2024-06-10 19:58:06 +00:00
programs = {
2024-06-10 20:16:34 +00:00
browsers = {
chromium.enable = true;
2024-06-20 12:15:29 +00:00
firefox.enable = true;
2024-06-10 20:22:16 +00:00
mullvad-browser.enable = true;
2024-06-10 21:01:31 +00:00
schizofox.enable = true;
2024-06-10 20:16:34 +00:00
};
2024-06-21 09:41:29 +00:00
applications = {
spotify.enable = true;
};
2024-06-10 19:58:06 +00:00
};
2024-04-07 12:38:24 +00:00
};
};
}