phase 2: move host files to hosts/{mreow,yarn,muffin}/

This commit is contained in:
primary
2026-04-18 00:47:25 -04:00
parent 6448a0427f
commit 99e98e39b7
13 changed files with 0 additions and 0 deletions

60
hosts/mreow/default.nix Normal file
View File

@@ -0,0 +1,60 @@
{
config,
pkgs,
lib,
username,
inputs,
...
}:
{
imports = [
./common.nix
./disk_mreow.nix
inputs.nixos-hardware.nixosModules.framework-amd-ai-300-series
];
hardware.framework.laptop13.audioEnhancement.rawDeviceName =
lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";
# PST
# time.timeZone = lib.mkForce "America/Los_Angeles";
# weird hack to get swaylock working? idk, if you don't put this here, password entry doesnt work
# if I move to another lock screen program, i will have to replace `swaylock`
security.pam.services.swaylock = { };
# Kernel-level power tuning. These are boot-time / module-load-time settings
# that power-profiles-daemon (in common.nix) does not manage. ppd handles
# governor and EPP at runtime; these cover everything else.
boot.kernelParams = [
# Disable NMI watchdog. Eliminates periodic perf-counter interrupts
# across all cores (~1 W). Kernel softlockup watchdog remains active.
"nmi_watchdog=0"
# Route kernel work items to already-busy CPUs rather than waking idle
# ones. Reduces C-state exit frequency -- significant on battery where
# cores idle often.
"workqueue.power_efficient=1"
];
boot.kernel.sysctl."kernel.nmi_watchdog" = 0;
# Power-gate the HDA codec between audio activity. 1-second inactivity
# timeout; controller powers down fully. Wakes transparently on next
# audio event -- no audible artifacts on Framework 13 AMD.
boot.extraModprobeConfig = ''
options snd_hda_intel power_save=1 power_save_controller=Y
'';
# Greetd display manager
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${lib.getExe pkgs.tuigreet} --time";
user = username;
};
};
};
}

53
hosts/mreow/disk.nix Normal file
View File

@@ -0,0 +1,53 @@
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-path/pci-0000:01:00.0-nvme-1";
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
passwordFile = "${./secrets/disk-password}";
content = {
type = "filesystem";
format = "f2fs";
mountpoint = "/";
extraArgs = [
"-O"
"extra_attr,inode_checksum,sb_checksum,compression"
];
mountOptions = [
"compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime,nodiscard"
];
};
};
};
};
};
};
};
};
}

33
hosts/mreow/home.nix Normal file
View File

@@ -0,0 +1,33 @@
{
config,
pkgs,
homeDirectory,
...
}:
{
imports = [
./gui.nix
./desktop.nix
./progs/borg.nix
# effects headphones too
# ./progs/framework-13-easyeffects.nix
];
# media controls
systemd.user.services.mpris-proxy = {
Unit.Description = "Mpris proxy";
Install.After = [
"network.target"
"sound.target"
];
Install.WantedBy = [ "default.target" ];
Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
};
programs.niri.settings.outputs = {
"BOE 0x095F Unknown" = {
scale = 1.5;
};
};
}