flakes/systems/x86_64-linux/thonkpad/default.nix
Chinmay D. Pai 3a3a8afe30
feat: add nixos configuration based on snowfall-lib
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2024-09-02 18:31:19 +05:30

74 lines
1.8 KiB
Nix

{
lib,
pkgs,
userdata,
...
}: {
imports = [./hardware.nix];
hardware.cpu.intel.updateMicrocode = true;
hardware.enableRedistributableFirmware = true;
networking.hostName = "thonkpad";
networking.interfaces.wlan0.useDHCP = lib.mkDefault false;
networking.useNetworkd = true;
# Enable weekly btrfs auto-scrub.
services.btrfs.autoScrub = {
enable = true;
interval = "weekly";
fileSystems = ["/"];
};
services.system76-scheduler.enable = true;
services.system76-scheduler.settings.cfsProfiles.enable = true;
# Power management, enable powertop and thermald.
powerManagement.powertop.enable = true;
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";
services.thermald.enable = true;
# TODO: remove, temporary for mongoDB build
systemd.services.nix-daemon.environment.TMPDIR = "/var/tmp/nix-daemon";
services.ratbagd.enable = true;
snowflake = {
stateVersion = "24.05";
extraPackages = with pkgs; [
easyeffects
glibc
logseq
obsidian
piper
# terraform
terraform-ls
];
core.lanzaboote.enable = true;
core.docker.enable = true;
core.docker.storageDriver = "btrfs";
desktop.enable = true;
desktop.kde.enable = true;
gaming.steam.enable = true;
hardware.bluetooth.enable = true;
hardware.yubico.enable = true;
networking.firewall.enable = true;
networking.networkManager.enable = true;
networking.iwd.enable = true;
networking.resolved.enable = true;
networking.netbird.enable = true;
user.enable = true;
user.username = "chnmy";
user.description = "Chinmay D. Pai";
user.extraGroups = ["video"];
user.userPasswordAgeModule = userdata.secrets.machines.thonkpad.password;
user.rootPasswordAgeModule = userdata.secrets.machines.thonkpad.root-password;
};
}