This repository has been archived on 2026-03-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nixos/home/hosts/gunter/default.nix
Torjus Håkestad 8dd0cbf994 refactor: modularize Hyprland configuration
- Create home/hyprland/default.nix module with configurable options
- Add support for monitors, extraEnv, streamcontroller, lockhelper, grimblast, wacom
- Add workspace strategy (numbered vs named per monitor)
- Update magicman config to use new module with minimal config
- Update gunter config to use new module with all customizations
- Remove deprecated Hyprland config files
- Significantly reduce duplication between host configs
- Both configurations build successfully
2026-01-30 14:34:51 +01:00

99 lines
2.8 KiB
Nix

{
pkgs,
inputs,
user,
...
}:
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = {
inherit pkgs inputs user;
};
users.${user} =
{ pkgs, ... }:
{
imports = [
inputs.sops-nix.homeManagerModules.sops
../../editor/neovim
../../hyprland
../../packages
../../programs/dunst
../../programs/git
../../programs/firefox
../../programs/kitty
../../programs/obs-studio
../../programs/rofi
../../programs/tmux
../../programs/vscode
../../scripts
../../services/backup-home.nix
../../services/ghettoptt.nix
../../services/natstonotify.nix
../../sops
../../ssh
../../zsh
];
firefox.enable = true;
tmux.enable = true;
hyprland.enable = true;
hyprland.monitors = [
"$mon_top,1920x1080@60,2560x0,1"
"$mon_left,2560x1440@75,0x1080,1"
"$mon_center,2560x1440@120,2560x1080,1"
"$mon_right,2560x1440@75,5120x1080,1"
];
hyprland.extraEnv = [
"LIBVA_DRIVER_NAME,nvidia"
"GBM_BACKEND,nvidia-drm"
"WLR_NO_HARDWARE_CURSORS,1"
];
hyprland.enableStreamController = true;
hyprland.useLockHelper = true;
hyprland.enableGrimblast = true;
hyprland.enableWacom = true;
hyprland.cursorNoHardware = true;
hyprland.workspaceStrategy = "named";
hyprland.monitorVariables = {
"$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000";
"$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389";
"$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd";
"$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390";
};
hyprland.lockMonitorNames = [
"BNQ G2420HDBL T2B04424SL000"
"Samsung Electric Company LS27A600U HNMT502389"
"Acer Technologies XB271HU #ASPVEKfgZ8Dd"
"Samsung Electric Company LS27A600U HNMT502390"
];
hyprland.extraKeybinds = [
"$mainMod,Print,exec,grimblast save active ~/tmp/$(date -Iseconds).png"
"$shiftMainMod,Print,exec,grimblast copy area"
",Print,exec,grimblast copy active"
"$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -"
];
home = {
username = "${user}";
homeDirectory = "/home/${user}";
stateVersion = "23.11";
};
programs.home-manager.enable = true;
# Custom options
torjus.home.obs = {
enable = true;
withCuda = true;
};
};
};
}