122 lines
3.0 KiB
Nix
122 lines
3.0 KiB
Nix
{ lib, pkgs, inputs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hypr.nix
|
|
];
|
|
|
|
services.greetd = {
|
|
enable = true;
|
|
useTextGreeter = true;
|
|
settings = rec {
|
|
initial_session = {
|
|
command="${pkgs.uwsm}/bin/uwsm start hyprland.desktop";
|
|
user = "djai";
|
|
};
|
|
default_session = {
|
|
command = "${pkgs.tuigreet}/bin/tuigreet";
|
|
user = "greeter";
|
|
};
|
|
};
|
|
};
|
|
|
|
# note that we set the videodrivers on a per-host basis, so not here.
|
|
services.xserver = {
|
|
enable = true;
|
|
xkb = {
|
|
layout = "us";
|
|
variant = "euro";
|
|
options = "caps:escape";
|
|
};
|
|
};
|
|
console.useXkbConfig = true;
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
|
|
hardware.bluetooth.enable = true;
|
|
services.blueman.enable = true;
|
|
|
|
fonts.packages = with pkgs; [
|
|
nerd-fonts.caskaydia-cove
|
|
nerd-fonts.fira-code
|
|
nerd-fonts.iosevka
|
|
nerd-fonts.shure-tech-mono
|
|
nerd-fonts.symbols-only
|
|
yudit
|
|
];
|
|
|
|
services.udisks2.enable = true;
|
|
services.printing.enable = true;
|
|
|
|
users.users.djai.packages = with pkgs; [
|
|
hyprpicker
|
|
hyprprop
|
|
waybar
|
|
tuigreet
|
|
wf-recorder
|
|
grimblast
|
|
wmctrl
|
|
kanshi
|
|
rofi
|
|
wl-clipboard
|
|
wl-clipboard-x11
|
|
swaybg
|
|
catppuccin-qt5ct
|
|
];
|
|
|
|
# i have no clue what this does.
|
|
# GLib aborts any program that loads a GSettings schema it can't find, and Qt's GTK file dialog needs gtk3's. Nothing else puts these on the path.
|
|
environment.sessionVariables.GSETTINGS_SCHEMA_DIR = builtins.concatStringsSep ":" [
|
|
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
|
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas"
|
|
];
|
|
|
|
environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
|
|
home-manager.users.djai = {
|
|
xdg = {
|
|
mimeApps = {
|
|
enable = true;
|
|
defaultApplications = {
|
|
"inode/directory" = [ "kitty.desktop" ];
|
|
"image/gif" = [ "mpv.desktop" ];
|
|
"text/html" = [ "librewolf.desktop" ];
|
|
"application/pdf" = [ "zathura.desktop" ];
|
|
"image/*" = [ "feh.deskop" ];
|
|
"x-scheme-handler/http" = [ "librewolf.desktop" ];
|
|
"x-scheme-handler/https" = [ "librewolf.desktop" ];
|
|
};
|
|
};
|
|
|
|
portal = {
|
|
enable = true;
|
|
config.hyprland = {
|
|
default = [ "hyprland" ];
|
|
"org.freedesktop.impl.portal.FileChooser" = lib.mkForce [ "termfilechooser" ];
|
|
};
|
|
extraPortals = with pkgs; lib.mkForce [
|
|
xdg-desktop-portal-hyprland
|
|
xdg-desktop-portal-termfilechooser
|
|
];
|
|
};
|
|
};
|
|
|
|
|
|
home.pointerCursor.enable = true; # catppuccin wanted this for cursors
|
|
catppuccin = {
|
|
cursors = {
|
|
enable = true;
|
|
accent = "dark";
|
|
};
|
|
qt5ct.enable = true;
|
|
};
|
|
qt = {
|
|
style.name = "kvantum"; # required for catppuccin-nix
|
|
platformTheme.name = "qtct";
|
|
enable = true;
|
|
};
|
|
};
|
|
}
|