diff --git a/suites/default.nix b/suites/default.nix index b38df94..649a4ab 100644 --- a/suites/default.nix +++ b/suites/default.nix @@ -113,7 +113,7 @@ # Universal styling. stylix = { enable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/kanagawa-dragon.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest-dark-hard.yaml"; polarity = "dark"; cursor = { diff --git a/suites/desktop/default.nix b/suites/desktop/default.nix index db12acc..bc29291 100755 --- a/suites/desktop/default.nix +++ b/suites/desktop/default.nix @@ -37,9 +37,6 @@ with lib; { # Enable smart card support (for YubiKey). services.pcscd.enable = true; - # Encrypt user's home with fscrypt - security.pam.enableFscrypt = true; - # Enable login manager. programs.regreet = { enable = true; @@ -65,14 +62,6 @@ with lib; { services.upower.enable = true; services.libinput.enable = true; - xdg.portal = { - enable = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gnome - pkgs.xdg-desktop-portal-gtk - ]; - }; - # Virtualisation. programs.virt-manager.enable = true; users.groups.libvirtd.members = ["fern"]; @@ -122,6 +111,10 @@ with lib; { hardware.brillo.enable = true; users.groups.video.members = ["fern"]; + # Control external monitor + hardware.i2c.enable = true; + services.ddccontrol.enable = true; + # Enable sound with pipewire. services.pulseaudio.enable = false; security.rtkit.enable = true; @@ -133,7 +126,6 @@ with lib; { }; # Enable CPU frequency scaling management. - services.power-profiles-daemon.enable = mkForce false; # enabled by gnome services.tlp.enable = mkForce false; # enabled by nixos-hardware services.auto-cpufreq.enable = true; diff --git a/suites/desktop/home.nix b/suites/desktop/home.nix index abafa30..47baf06 100644 --- a/suites/desktop/home.nix +++ b/suites/desktop/home.nix @@ -10,6 +10,19 @@ with lib; { qt.enable = true; gtk.enable = true; + # XDG portals. + xdg.portal = { + enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gnome + pkgs.xdg-desktop-portal-gtk + ]; + }; + + # Create home directories. + xdg.userDirs.createDirectories = true; + + # Niri WM. programs.niri = { settings = { # Wayland environment variables. @@ -22,6 +35,7 @@ with lib; { QT_QPA_PLATFORM = "wayland;xcb"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; SDL_VIDEODRIVER = "wayland"; + GTK_CSD = "0"; }; # X11 support. @@ -49,8 +63,12 @@ with lib; { # Spawn programs. "Mod+Return".action.spawn = "kitty"; "Mod+Space".action.spawn = "fuzzel"; + "Mod+E".action.spawn = "smile"; "Mod+Alt+L".action.spawn = "hyprlock"; + # Show overview + "Mod+Escape".action.toggle-overview = {}; + # Media & brightness control. "XF86AudioRaiseVolume" = { allow-when-locked = true; @@ -72,6 +90,26 @@ with lib; { action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"]; }; + "XF86AudioPlay" = { + allow-when-locked = true; + action.spawn = ["playerctl" "play-pause"]; + }; + + "XF86AudioStop" = { + allow-when-locked = true; + action.spawn = ["playerctl" "pause"]; + }; + + "XF86AudioPrev" = { + allow-when-locked = true; + action.spawn = ["playerctl" "previous"]; + }; + + "XF86AudioNext" = { + allow-when-locked = true; + action.spawn = ["playerctl" "next"]; + }; + "XF86MonBrightnessUp" = { allow-when-locked = true; action.spawn = ["brillo" "-A" "5"]; @@ -248,12 +286,6 @@ with lib; { enable = true; systemd.enable = true; - style = '' - * { - border-radius: 0; - } - ''; - settings.main = { modules-left = ["niri/workspaces"]; modules-center = ["clock"]; @@ -263,6 +295,7 @@ with lib; { bat = "BAT0"; format-icons = ["󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂁" "󰂂" "󰁹"]; format = "{icon} {capacity}%"; + format-charging = "󱐋 {icon} {capacity}%"; tooltip = false; }; @@ -297,24 +330,8 @@ with lib; { stylix.targets.waybar.font = "sansSerif"; # use sans-serif font, not monospaced. - # polkit-gnome. - systemd.user.services.polkit-gnome-authentication-agent-1 = { - Unit.Description = "polkit-gnome-authentication-agent-1"; - - Install = { - WantedBy = ["graphical-session.target"]; - Wants = ["graphical-session.target"]; - After = ["graphical-session.target"]; - }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; + # Enable polkit-gnome. + services.polkit-gnome.enable = true; # Wallpaper manager. services.hyprpaper.enable = true; @@ -357,6 +374,7 @@ with lib; { noto-fonts-cjk-serif ns-usbloader obsidian + playerctl prismlauncher protonmail-desktop rockbox-utility diff --git a/suites/home.nix b/suites/home.nix index 37a451f..3041837 100644 --- a/suites/home.nix +++ b/suites/home.nix @@ -82,10 +82,9 @@ } ]; - colorschemes.kanagawa = { + colorschemes.everforest = { enable = true; - settings.colors.theme.all.ui.bg_gutter = "none"; # Remove gutter background. - settings.background.dark = "dragon"; + settings.background = "hard"; }; opts = rec {