diff --git a/hosts/desktop/boot.nix b/hosts/desktop/boot.nix index 6f44f9d..d85dc9f 100755 --- a/hosts/desktop/boot.nix +++ b/hosts/desktop/boot.nix @@ -11,7 +11,10 @@ in kernelModules = [ "nct6775" "kvm-amd" + "i2c-dev" + "ddcci_backlight" ]; + extraModulePackages = [config.boot.kernelPackages.ddcci-driver]; loader = { efi = { canTouchEfiVariables = true; diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index dc0c3a9..ce14a4c 100755 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -16,13 +16,19 @@ let VISUAL = "${pkgs.vscodium}/bin/codium --wait"; }; systemPackages = with pkgsVersion; [ + acpilight aha aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science borgbackup + brightnessctl # brscan5 + ddcui + ddcutil + ddccontrol + ddccontrol-db efibootmgr kdePackages.ksvg memtest86-efi @@ -170,4 +176,8 @@ in libvirtd.enable = lib.mkDefault true; waydroid.enable = lib.mkDefault true; }; + + services.udev.extraRules = '' + KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" + ''; } diff --git a/hosts/desktop/users.nix b/hosts/desktop/users.nix index f14e94f..cad7be0 100644 --- a/hosts/desktop/users.nix +++ b/hosts/desktop/users.nix @@ -15,6 +15,8 @@ in "input" "scanner" "lp" + "video" + "i2c" ]; # Enable ‘sudo’ for the user. hashedPasswordFile = passwordFile; shell = pkgsVersion.zsh; diff --git a/modules/desktop-environments/hyprland/config/hypr/default.nix b/modules/desktop-environments/hyprland/config/hypr/default.nix index 2c710a6..f989154 100755 --- a/modules/desktop-environments/hyprland/config/hypr/default.nix +++ b/modules/desktop-environments/hyprland/config/hypr/default.nix @@ -266,6 +266,7 @@ in exec-once = dbus-update-activation-environment --systemd --all exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + exec-once = xhost +SI:localuser:root exec-once = nwg-look -a exec-once = nm-applet exec-once = blueberry-tray diff --git a/modules/desktop-environments/hyprland/config/kitty/default.nix b/modules/desktop-environments/hyprland/config/kitty/default.nix index 6a06253..afacc65 100755 --- a/modules/desktop-environments/hyprland/config/kitty/default.nix +++ b/modules/desktop-environments/hyprland/config/kitty/default.nix @@ -5,7 +5,7 @@ shellIntegration.enableZshIntegration = true; font = { - name = "nerd-fonts-jetbrains-mono"; + name = "JetBrainsMono NFM"; package = pkgs.nerd-fonts.jetbrains-mono; size = 12; }; diff --git a/modules/desktop-environments/hyprland/config/mako/default.nix b/modules/desktop-environments/hyprland/config/mako/default.nix index 3cafb99..5c5dd4b 100755 --- a/modules/desktop-environments/hyprland/config/mako/default.nix +++ b/modules/desktop-environments/hyprland/config/mako/default.nix @@ -10,7 +10,7 @@ height = 110; layer = "overlay"; border-radius = 15; - border-size = 2; + border-size = 1; max-icon-size = 64; default-timeout = 5000; diff --git a/modules/desktop-environments/hyprland/config/waybar/default.nix b/modules/desktop-environments/hyprland/config/waybar/default.nix index ded4e03..604ee21 100755 --- a/modules/desktop-environments/hyprland/config/waybar/default.nix +++ b/modules/desktop-environments/hyprland/config/waybar/default.nix @@ -116,7 +116,7 @@ pulseaudio = { format = "{icon} {volume}%"; tooltip = false; - format-muted = " Muted"; + format-muted = "{icon} Muted"; on-click = "pamixer -t"; on-click-right = "pavucontrol -t 1"; on-scroll-up = "pamixer -i 5"; @@ -154,9 +154,10 @@ capslock = true; icon-size = 20; format = "{icon}"; + tooltip-format = "Caps Lock {state}"; format-icons = { - locked = "󰪛"; - unlocked = " "; + locked = "󰬶"; + unlocked = "󰬵"; }; }; @@ -164,9 +165,10 @@ numlock = true; icon-size = 60; format = "{icon}"; + tooltip-format = "Num Lock {state}"; format-icons = { - locked = "󰎣"; - unlocked = " "; + locked = "󰎠"; + unlocked = "󱧓"; }; }; }; diff --git a/modules/desktop-environments/hyprland/environment.nix b/modules/desktop-environments/hyprland/environment.nix index 92e05af..e492e66 100755 --- a/modules/desktop-environments/hyprland/environment.nix +++ b/modules/desktop-environments/hyprland/environment.nix @@ -23,6 +23,7 @@ in glib gnome-tweaks gnome-disk-utility + gnome-font-viewer gnome-system-monitor gsettings-desktop-schemas hyprcursor @@ -58,6 +59,7 @@ in xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-wlr + xorg.xhost xsettingsd xwayland ]; diff --git a/modules/desktop-environments/hyprland/home.nix b/modules/desktop-environments/hyprland/home.nix index 1768d83..77a77c7 100755 --- a/modules/desktop-environments/hyprland/home.nix +++ b/modules/desktop-environments/hyprland/home.nix @@ -119,51 +119,51 @@ in }; }; - home.sessionVariables = { - BROWSER = "firefox"; - EDITOR = "nano"; - TERMINAL = "kitty"; - NIXOS_OZONE_WL = "1"; - QT_QPA_PLATFORMTHEME = "gtk3"; - QT_SCALE_FACTOR = "1"; - MOZ_ENABLE_WAYLAND = "1"; - SDL_VIDEODRIVER = "wayland"; - QT_QPA_PLATFORM = "wayland-egl"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - QT_AUTO_SCREEN_SCALE_FACTOR = "1"; - GTK_CSD = "0"; - # WLR_DRM_DEVICES = "/dev/dri/card0"; - # WLR_NO_HARDWARE_CURSORS = "1"; - CLUTTER_BACKEND = "wayland"; - # WLR_RENDERER = "vulkan"; - XCURSOR_THEME = cursorTheme; - XCURSOR_SIZE = cursorSize; - HYPRCURSOR_THEME = cursorTheme; - HYPRCURSOR_SIZE = cursorSize; - GTK_THEME = gtkTheme; - XDG_CURRENT_DESKTOP = "Hyprland"; - XDG_SESSION_DESKTOP = "Hyprland"; - XDG_SESSION_TYPE = "wayland"; - GTK_USE_PORTAL = "1"; - NIXOS_XDG_OPEN_USE_PORTAL = "1"; - XDG_CACHE_HOME = "\${HOME}/.cache"; - XDG_CONFIG_HOME = "\${HOME}/.config"; - #XDG_BIN_HOME = "\${HOME}/.local/bin"; - XDG_DATA_HOME = "\${HOME}/.local/share"; - ICON_THEME = iconTheme; - }; + home = { + sessionVariables = { + BROWSER = "firefox"; + CLUTTER_BACKEND = "wayland"; + EDITOR = "nano"; + ICON_THEME = iconTheme; + GTK_CSD = "0"; + GTK_THEME = gtkTheme; + GTK_USE_PORTAL = "1"; + HYPRCURSOR_THEME = cursorTheme; + HYPRCURSOR_SIZE = cursorSize; + MOZ_ENABLE_WAYLAND = "1"; + NIXOS_OZONE_WL = "1"; + NIXOS_XDG_OPEN_USE_PORTAL = "1"; + QT_AUTO_SCREEN_SCALE_FACTOR = "1"; + QT_QPA_PLATFORM = "wayland-egl"; + QT_QPA_PLATFORMTHEME = "gtk3"; + QT_SCALE_FACTOR = "1"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + TERMINAL = "kitty"; + XCURSOR_THEME = cursorTheme; + XCURSOR_SIZE = cursorSize; + XDG_CACHE_HOME = "\${HOME}/.cache"; + XDG_CONFIG_HOME = "\${HOME}/.config"; + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_DATA_HOME = "\${HOME}/.local/share"; + XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + }; - home.pointerCursor = { - gtk.enable = true; - package = cursorThemePkg; - name = cursorTheme; - size = cursorSize; + pointerCursor = { + gtk.enable = true; + package = cursorThemePkg; + name = cursorTheme; + size = cursorSize; + }; }; dconf = { enable = true; settings = { + "org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/interface".cursor-theme = cursorTheme; + "org/gnome/desktop/interface".gtk-theme = gtkTheme; "org/gnome/desktop/interface".icon-theme = iconTheme; }; }; @@ -172,7 +172,7 @@ in enable = true; cursorTheme = { - name = cursorTheme; # macOS-[BigSur, Monterey]-[ , White, White-Windows, Windows] + name = cursorTheme; package = cursorThemePkg; };