From 2e4c4298cf84f94d68387e8076fd430e9968ce6c Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Fri, 27 Jun 2025 16:39:14 -0400 Subject: refactor --- modules/desktops/default.nix | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 modules/desktops/default.nix (limited to 'modules/desktops/default.nix') diff --git a/modules/desktops/default.nix b/modules/desktops/default.nix new file mode 100644 index 0000000..37197c2 --- /dev/null +++ b/modules/desktops/default.nix @@ -0,0 +1,91 @@ +{ + lib, + config, + pkgs, + inputs, + ... +}: let + inherit (lib) mkEnableOption mkIf optionals; + cfg = config.desktops; +in { + imports = [ + ./hyprland + ./wayland.nix + ]; + + options.desktops = { + enable = mkEnableOption "Enable baseline desktop utils and programs."; + wayland = mkEnableOption "Enable wayland desktop components."; + hyprland = mkEnableOption "Install the Hyprland desktop."; + }; + + config = mkIf cfg.enable { + home-manager.users.${config.user} = { + # desktop specific programs + home.packages = with pkgs; [ + # gtk + adwaita-icon-theme + # codecs + libaacs + libavif + libbluray + libjxl + # wayland + cage + grimblast + wl-clipboard + wl-clip-persist + wl-mirror + # xdg + libnotify + ]; + }; + + # desktop only fonts + fonts.packages = + (with pkgs; [ + corefonts + dejavu_fonts + fira-code + fira-code-symbols + jetbrains-mono + material-icons + nerd-fonts.fira-code + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + twemoji-color-font + vistafonts + ]) + ++ (with inputs.apple-fonts.packages.${pkgs.system}; [ + sf-pro + sf-mono + sf-compact + ]); + + fonts.fontconfig = { + enable = true; + defaultFonts = { + serif = [ + "Twemoji" + "DejaVu Serif" + ]; + sansSerif = [ + "Twemoji" + "DejaVu Sans" + ]; + monospace = [ + "Fira Code" + "FiraCode Nerd Font Mono" + "Font Awesome 6 Pro Regular" + "Twemoji" + "DejaVu Sans Mono" + ]; + emoji = [ + "Twemoji" + "Noto Color Emoji" + ]; + }; + }; + }; +} -- cgit v1.2.3-freya