Finish (?) transition to Niri.

This commit is contained in:
Fern Garden 2025-08-04 19:49:05 +08:00
parent c8f81f4190
commit a4f0d899c1
4 changed files with 49 additions and 40 deletions

View file

@ -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 = {

View file

@ -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;

View file

@ -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

View file

@ -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 {