default.nix 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. { config, pkgs, lib, inputs, ... }:
  2. let
  3. files = builtins.readDir ./config;
  4. in
  5. {
  6. imports = [
  7. ./bg
  8. ./theming/notwaita.nix
  9. ./theming/breeze-dark.nix
  10. ];
  11. config = {
  12. home.packages = [
  13. inputs.caelestia-shell.packages.${pkgs.system}.default
  14. inputs.caelestia-cli.packages.${pkgs.system}.default
  15. ];
  16. home.file.".config/hypr/hyprland.lua".source = ./config/hyprland.lua;
  17. home.file.".config/hypr/modules/autostart.lua".source = ./config/modules/autostart.lua;
  18. home.file.".config/hypr/modules/environment.lua".source = ./config/modules/environment.lua;
  19. home.file.".config/hypr/modules/look_and_feel.lua".source = ./config/modules/look_and_feel.lua;
  20. home.file.".config/hypr/modules/misc.lua".source = ./config/modules/misc.lua;
  21. home.file.".config/hypr/modules/input.lua".source = ./config/modules/input.lua;
  22. home.file.".config/hypr/modules/keybindings.lua".source = ./config/modules/keybindings.lua;
  23. home.file.".config/hypr/modules/windows_and_workspaces.lua".source = ./config/modules/windows_and_workspaces.lua;
  24. home.file.".config/hypr/modules/monitors.lua".text = config.custom.hyprExtras.monitors;
  25. xdg.userDirs = {
  26. enable = true;
  27. createDirectories = true;
  28. documents = "$HOME/Documents";
  29. download = "$HOME/Downloads";
  30. desktop = "$HOME/Desktop";
  31. music = "$HOME/Music";
  32. pictures = "$HOME/Pictures";
  33. videos = "$HOME/Videos";
  34. projects = "$HOME/Projects";
  35. };
  36. };
  37. options.custom.hyprExtras = {
  38. monitors = lib.mkOption {
  39. type = lib.types.lines;
  40. default = ''
  41. hl.monitor({ output = "", mode = "preferred", position = "auto", scale = 1 })
  42. '';
  43. description = "Host-specific monitor configuration for Hyprland";
  44. };
  45. };
  46. }