feat: per-host Hyprland monitor config via home-manager

- Split hyprland.conf into common (keybinds, looks, animations)
  and per-host (monitors, env, workspaces) configs
- Add uconsole.conf for CM5 DSI display (720x1280)
- Add laptop.conf for NVIDIA + external monitors
- home.nix links the correct host config based on hostname
- Remove NVIDIA env vars from common config
This commit is contained in:
2026-06-14 19:37:14 -04:00
committed by Hermes
parent 02ffcdb55e
commit f344739b94
3 changed files with 17 additions and 10 deletions

1
result Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/z86r4awsbrc5q9qhwwi757wxixcqgn31-nixos-system-uConsole-25.11.20260608.e820eb4

1
result-uconsole Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/7y7rfksqcf5smz59jjixyl56bxq50j9g-nixos-system-uConsole-25.11.20260608.e820eb4

View File

@@ -2,6 +2,7 @@
let let
dotfiles = ./assets/dotfiles; dotfiles = ./assets/dotfiles;
isUconsole = config.networking.hostName == "uConsole";
in { in {
home.username = "gortium"; home.username = "gortium";
home.homeDirectory = "/home/gortium"; home.homeDirectory = "/home/gortium";
@@ -38,24 +39,28 @@ in {
# yazi # yazi
".config/yazi/yazi.toml".source = "${dotfiles}/yazi/.config/yazi/yazi.toml"; ".config/yazi/yazi.toml".source = "${dotfiles}/yazi/.config/yazi/yazi.toml";
# hyprland # hyprland — common config
".config/hypr/hyprland.conf".source = "${dotfiles}/hypr/.config/hypr/hyprland.conf"; ".config/hypr/hyprland.conf".source = "${dotfiles}/hypr/.config/hypr/hyprland.conf";
".config/hypr/hypridle.conf".source = "${dotfiles}/hypr/.config/hypr/hypridle.conf";
".config/hypr/hyprlock.conf".source = "${dotfiles}/hypr/.config/hypr/hyprlock.conf";
".config/hypr/hyprpaper.conf".source = "${dotfiles}/hypr/.config/hypr/hyprpaper.conf";
".config/hypr/mocha.conf".source = "${dotfiles}/hypr/.config/hypr/mocha.conf";
# doom emacs # hyprland — host-specific monitor config
".config/doom/config.el".source = "${dotfiles}/doom/.config/doom/config.el"; ".config/hypr/host/monitors.conf".source =
".config/doom/init.el".source = "${dotfiles}/doom/.config/doom/init.el"; if isUconsole
".config/doom/packages.el".source = "${dotfiles}/doom/.config/doom/packages.el"; then "${dotfiles}/hypr/.config/hypr/host/uconsole.conf"
else "${dotfiles}/hypr/.config/hypr/host/laptop.conf";
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
# core
git zsh tmux starship git zsh tmux starship
# editors
neovim kitty neovim kitty
# tools
btop yazi ripgrep fd fzf btop yazi ripgrep fd fzf
# wayland ] ++ lib.optionals (!isUconsole) [
waybar wofi waybar wofi swww hyprshot
] ++ lib.optionals isUconsole [
brightnessctl
]; ];
programs.zsh.enable = true; programs.zsh.enable = true;