flake/groups/desktops/default.nix
2026-03-25 22:55:15 -07:00

85 lines
1.8 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
imports = [
./system.nix
./programs.nix
../../hosts/modules/bashistrans.nix
../../hosts/modules/wm/hyprland.nix
];
boot.loader.grub2-theme = {
enable = true;
# GitHub: vinceliuice/grub2-themes
theme = "whitesur"; # stylish, vimix, or whitesur
footer = true;
customResolution = "1920x1080";
};
# Set display manager (login screen)
services.displayManager = {
# sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects
sddm = {
enable = true;
wayland.enable = ! config.services.xserver.enable; # experimental
theme = "corners";
};
defaultSession =
if config.programs.hyprland.withUWSM == true
then "hyprland-uwsm"
else "hyprland";
};
programs.fish.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 your default fonts
fontconfig = {
defaultFonts = {
serif = ["Geist"];
sansSerif = ["Geist"];
monospace = ["Cousine"];
emoji = ["Noto Emoji"];
};
};
};
# ---- ENVIRONMENT VARIABLES ----
environment = {
sessionVariables = {
# Hint Electrons apps to use Wayland
NIXOS_OZONE_WL = "1";
XDG_DOWNLOAD_DIR = "$HOME/Downloads";
XDG_CONFIG_HOME = "$HOME/.config";
};
systemPackages = with pkgs; [
sddm-theme-corners
];
};
# ------- USERS -------
users.users.lorkan = {
isNormalUser = true;
extraGroups = ["wheel" "netdev" "docker"];
shell = pkgs.fish;
};
}