nixcfg/hosts/lavaridge/default.nix

97 lines
2.5 KiB
Nix
Raw Normal View History

2024-03-12 22:14:08 -04:00
# Framework Laptop 13 with AMD Ryzen 7640U, 32GB RAM, 1TB SSD.
{
2024-04-07 22:16:33 -04:00
config,
2024-08-14 12:57:09 -04:00
lib,
pkgs,
self,
2024-04-07 22:16:33 -04:00
...
}: {
2024-03-24 14:06:24 -04:00
imports = [
./home.nix
2024-07-22 19:56:56 -04:00
./secrets.nix
./stylix.nix
2024-09-23 23:59:07 -04:00
(import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/nvme0n1"];})
self.nixosModules.common-auto-upgrade
self.nixosModules.common-base
2024-08-22 09:09:30 -04:00
self.nixosModules.common-locale
self.nixosModules.common-mauville-share
self.nixosModules.common-nix
self.nixosModules.common-pkgs
self.nixosModules.common-tailscale
self.nixosModules.common-wifi-profiles
2024-12-03 16:03:51 -05:00
self.nixosModules.hw-common-gaming
self.nixosModules.hw-framework-13-amd-7000
2024-03-24 14:06:24 -04:00
];
2024-08-14 12:57:09 -04:00
boot = {
initrd.systemd.enable = true;
2024-08-14 12:57:09 -04:00
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
2024-08-14 12:57:09 -04:00
loader = {
efi.canTouchEfiVariables = true;
systemd-boot.enable = lib.mkForce false;
2024-08-14 12:57:09 -04:00
};
};
2024-03-12 22:17:57 -04:00
2024-09-08 15:59:35 -04:00
environment.variables.GDK_SCALE = "2";
networking.hostName = "lavaridge";
services.udev.extraRules = let
hyprlandDynamicRes = pkgs.writeShellScript "hyprland-dynamic-resolution" ''
MON="eDP-1"
RES="2880x1920"
for dir in /run/user/*; do
for hypr_dir in "$dir/hypr/"*/; do
socket="''${hypr_dir}.socket.sock"
if [[ -S $socket ]]; then
monitor_info=$(echo -e "monitors" | ${lib.getExe pkgs.socat} - UNIX-CONNECT:"$socket")
if echo "$monitor_info" | grep -q "$MON"; then
echo -e "keyword monitor $MON, $RES@$1, 0x0, 2, vrr, $2" | ${lib.getExe pkgs.socat} - UNIX-CONNECT:"$socket"
fi
fi
done
done
'';
in ''
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_NAME}=="ACAD", ATTR{online}=="1", ACTION=="change", RUN+="${hyprlandDynamicRes} 120 1"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_NAME}=="ACAD", ATTR{online}=="0", ACTION=="change", RUN+="${hyprlandDynamicRes} 60 0"
'';
system.stateVersion = "24.05";
ar = {
apps = {
2024-06-28 21:07:20 -04:00
firefox.enable = true;
podman.enable = true;
2024-06-28 21:07:20 -04:00
steam.enable = true;
virt-manager.enable = true;
};
desktop = {
greetd.enable = true;
2024-05-26 02:30:20 -04:00
hyprland.enable = true;
2024-07-25 21:03:26 -04:00
sway.enable = true;
};
laptopMode = true;
users.aly = {
enable = true;
password = "$y$j9T$NSS7QcEtN4yiigPyofwlI/$nxdgz0lpySa0heDMjGlHe1gX3BWf48jK6Tkfg4xMEs6";
syncthing = {
enable = true;
certFile = config.age.secrets.syncthingCert.path;
keyFile = config.age.secrets.syncthingKey.path;
syncROMs = true;
};
};
};
}