56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{ ... }:
|
|
let
|
|
monitors = [
|
|
"DP-1"
|
|
"DP-2"
|
|
];
|
|
in
|
|
{
|
|
imports =
|
|
map (x: ../../../home-manager + x) [
|
|
"/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/gaming.nix"
|
|
"/features/linux-desktop.nix"
|
|
"/features/notes.nix"
|
|
"/features/3d-printing.nix"
|
|
]
|
|
++ [
|
|
(import ../../../home-manager/features/wallpaper.nix monitors)
|
|
];
|
|
|
|
# This config file is needed for nix shell to allow unfree programs. I'm not
|
|
# sure why this isn't a home-manager option.
|
|
home.file.".config/nixpkgs/config.nix".text = ''
|
|
{ allowUnfree = true; }
|
|
'';
|
|
|
|
home.stateVersion = "24.11";
|
|
|
|
home.username = "drew";
|
|
home.homeDirectory = "/home/drew";
|
|
|
|
programs.git = {
|
|
userName = "Drew Haven";
|
|
userEmail = "drew.haven@gmail.com";
|
|
};
|
|
|
|
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"
|
|
];
|
|
windowrulev2 = [
|
|
# Rofi doesn't center properly when I have the two asymetric monitors, so we need hyprland to manage it.
|
|
"center, class:Rofi"
|
|
];
|
|
};
|
|
}
|