default.nix 1.8 KB

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