{ pkgs, ... }: { imports = map (x: ../../../home-manager + x) [ "/features/astronomy.nix" "/features/chat.nix" "/features/development/development.nix" "/features/development/docker.nix" "/features/development/haskell.nix" "/features/development/markdown.nix" "/features/development/typescript.nix" "/features/development/vscode.nix" "/features/eww" "/features/email.nix" "/features/gaming.nix" "/features/image-editing.nix" "/features/linux-desktop.nix" "/features/mounts/mcp-archive.nix" "/features/notes.nix" "/features/3d-printing.nix" "/features/hyprpaper.nix" ]; home = { stateVersion = "24.11"; username = "drew"; homeDirectory = "/home/drew"; # This config file is needed for nix shell to allow unfree programs. I'm not # sure why this isn't a home-manager option. file.".config/nixpkgs/config.nix".text = '' { allowUnfree = true; } ''; }; programs.git.settings = { user = { name = "Drew Haven"; email = "periodic@blazestar.net"; }; }; hardware.monitors = { "DP-2" = { position = "0x0"; mode = "3440x1440@164"; }; "DP-1" = { mode = "2560x1440"; position = "-1440x-510"; rotation = "90"; }; }; programs.eww.widgets = [ "primary-statusbar" "secondary-statusbar" ]; xdg.configFile = { "hypr/altair.lua" = { source = ./hyprland.lua; }; }; wayland.windowManager.hyprland.extraConfig = '' require("altair") ''; # TODO: Still merging these into the LUA config # wayland.windowManager.hyprland.settings = { # exec_once = [ # # Set up eww here because it's based on the monitor configuration # "sleep 2 && eww open-many primary-statusbar secondary-statusbar" # # Set DP-2 as the primary monitor, otherwise it defaults to DP-1 because it's first in the list. # "xrandr --output DP-2 --primary" # ]; # # windowrule = [ # # # Rofi doesn't center properly when I have the two asymetric monitors, so we need hyprland to manage it. # # "match:class Rofi, center on" # # ]; # }; }