{ inputs, pkgs, config, ... }: { imports = [ ./programs.nix ../../hosts/modules/bashistrans.nix ../../hosts/modules/wm/hyprland.nix ../../hosts/modules/steam.nix ../../hosts/modules/obsidian.nix inputs.nix-flatpak.nixosModules.nix-flatpak ]; boot.loader.grub2-theme = { enable = true; # GitHub: vinceliuice/grub2-themes theme = "whitesur"; # stylish, vimix, or whitesur footer = true; customResolution = "1920x1080"; }; services = { # Set display manager (login screen) displayManager = { # sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects sddm = { enable = true; wayland.enable = true; # experimental theme = "corners"; }; defaultSession = "hyprland" + ( if config.programs.hyprland.withUWSM == true then "-uwsm" else null ); }; tumbler.enable = true; # Thunar image thumbnail support gvfs.enable = true; # Thunar mount, trash, and other functionality }; programs = { zsh.enable = true; fish.enable = true; nix-ld.enable = true; neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; configure = { customRC = '' set number set tabstop=4 set shiftwidth=4 ''; }; }; # Thunar also uses: `services.tumbler` & `services.gvfs` thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-volman # for removable drives (ie USBs) thunar-archive-plugin # create and extract archives thunar-media-tags-plugin # change metadata for media files ]; }; # mozilla's email client thunderbird.enable = true; }; # ----- FONTS ----- fonts = { enableDefaultPackages = true; # no clue what this line does tbh packages = with pkgs; [ geist-font # for my hyprlock theme # texlive maintains a noto-emoji flake texlivePackages.noto-emoji ] ++ builtins.filter lib.attrsets.isDerivation ( builtins.attrValues pkgs.nerd-fonts ); # TODO: change my default fonts fontconfig = { defaultFonts = { serif = ["Geist"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font sansSerif = ["Geist"]; monospace = ["Cousine"]; emoji = ["Noto Emoji"]; }; }; }; # ---- ENVIRONMENT VARIABLES ---- environment = { sessionVariables = { # Hint Electrons apps to use Wayland NIXOS_OZONE_WL = "1"; }; systemPackages = with pkgs; [ (callPackage ../sddm-theme-corners.nix {}).sddm-theme-corners # dependencies for my sddm theme: # XXX: add these as a buildInput pkgs.libsForQt5.qt5.qtgraphicaleffects ]; }; # ------- USERS ------- users = { users = { # literally me fr (personal account) me = { isNormalUser = true; extraGroups = ["wheel" "netdev" "docker"]; shell = pkgs.bash; packages = with pkgs; [ firefox nitch starfetch colmena-latest gitkraken ]; }; }; }; }