83 lines
2.1 KiB
Nix
83 lines
2.1 KiB
Nix
{ 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"
|
|
# # ];
|
|
# };
|
|
}
|