phase 2: move host files to hosts/{mreow,yarn,muffin}/
This commit is contained in:
60
hosts/mreow/default.nix
Normal file
60
hosts/mreow/default.nix
Normal 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
53
hosts/mreow/disk.nix
Normal 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
33
hosts/mreow/home.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user