{ pkgs, lib, inputs, ... }: { imports = [ ]; home.username = "ryan"; home.homeDirectory = "/home/ryan"; nixpkgs.config.allowUnfree = true; fonts.fontconfig.enable = true; fonts.fontconfig.defaultFonts = { monospace = [ "DejaVu Sans Mono" ]; sansSerif = [ "Noto Sans" "DejaVu Sans" ]; serif = [ "Noto Serif" "DejaVu Serif" ]; }; gtk = { enable = true; font = { name = "Noto Sans"; size = 10; }; theme = { name = "Adwaita"; package = pkgs.gnome-themes-extra; }; iconTheme = { name = "Adwaita"; package = pkgs.adwaita-icon-theme; }; colorScheme = "dark"; }; qt = { enable = true; platformTheme.name = "gtk3"; }; home.pointerCursor = { enable = true; package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 24; gtk.enable = true; x11.enable = true; }; services.gpg-agent.pinentry.package = pkgs.pinentry-qt; wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; configType = "hyprlang"; portalPackage = pkgs.xdg-desktop-portal-hyprland; extraConfig = builtins.readFile ./linux/hypr/hyprland.conf; }; xdg.configFile = { "hypr/monitors.conf".source = ./linux/hypr/monitors.conf; "hypr/kanshi.conf".source = ./linux/hypr/kanshi.conf; "hypr/pyprland.toml".source = ./linux/hypr/pyprland.toml; "hypr/hypridle.conf".source = ./linux/hypr/hypridle.conf; "hypr/hyprlock.conf".source = ./linux/hypr/hyprlock.conf; "hypr/scripts" = { source = ./linux/hypr/scripts; recursive = true; }; "hypr/family_guy.mp4".source = ./linux/hypr/family_guy.mp4; "hypr/subwaysurfer.webm".source = ./linux/hypr/subwaysurfer.webm; "wallpapers".source = ../../files/Wallpapers; "waybar" = { source = ./linux/waybar; recursive = true; }; "alacritty" = { source = ./linux/alacritty; recursive = true; }; "foot" = { source = ./linux/foot; recursive = true; }; "wpaperd" = { source = ./linux/wpaperd; recursive = true; }; "mpv" = { source = ./linux/mpv; recursive = true; }; "pulse/client.conf".source = ./linux/pulseaudio/client.conf; }; home.file = { # Files that need to be in ~ go here }; home.packages = with pkgs; [ gcc pkg-config wttrbar wl-clip-persist waypaper xwayland xdg-desktop-portal xdg-desktop-portal-gtk mpv imv libva libvdpau hypridle hyprpicker wpaperd wl-mirror pyprland satty sops restic bluetui supercell-wx chromium foot kdePackages.kdenlive waybar fuzzel noto-fonts dejavu_fonts liberation_ttf noto-fonts-cjk-sans noto-fonts-color-emoji inputs.clipboard-sync.packages.${pkgs.stdenv.hostPlatform.system}.default # hyprlock itself is provided by the host-specific module (e.g. # linux/guix.nix wraps it with an LD_PRELOAD shim; a plain NixOS host # would just add pkgs.hyprlock here instead). ]; }