311 lines
7.6 KiB
Nix
311 lines
7.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
imports = [
|
|
./niri.nix
|
|
./wofi.nix
|
|
./fuzzel.nix
|
|
./waybar.nix
|
|
./swaync.nix
|
|
./swayidle.nix
|
|
./swaylock.nix
|
|
./wlsunset.nix
|
|
./udiskie.nix
|
|
];
|
|
stylix = {
|
|
enable = true;
|
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/solarized-dark.yaml";
|
|
polarity = "dark";
|
|
cursor = {
|
|
package = pkgs.google-cursor;
|
|
name = "GoogleDot-Blue";
|
|
size = 24;
|
|
};
|
|
image = ../wallpapers/wallhaven-5g9ed8.png;
|
|
opacity.terminal = 0.8;
|
|
fonts = {
|
|
sizes = {
|
|
applications = 13;
|
|
desktop = 14;
|
|
popups = 12;
|
|
terminal = 15;
|
|
};
|
|
serif = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
sansSerif = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
monospace = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font Mono";
|
|
};
|
|
emoji = {
|
|
package = pkgs.noto-fonts-emoji;
|
|
name = "Noto Color Emoji";
|
|
};
|
|
};
|
|
};
|
|
dconf.settings = {
|
|
"org/gnome/desktop/interface" = {
|
|
icon-theme = "Papirus-Dark";
|
|
};
|
|
};
|
|
|
|
fuzzel.enable = true;
|
|
waybar.enable = true;
|
|
swaync.enable = false;
|
|
wlsunset.enable = true;
|
|
component.swaylock.enable = true;
|
|
swayidle.enable = true;
|
|
udiskie.enable = true;
|
|
imv.enable = true;
|
|
|
|
services.gnome-keyring.enable = true;
|
|
services.network-manager-applet.enable = true;
|
|
services.copyq.enable = true;
|
|
|
|
services.dunst = {
|
|
enable = true;
|
|
settings = {
|
|
global = {
|
|
width = 300;
|
|
height = 300;
|
|
icon_theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
|
corner_radius = 12;
|
|
corners = "top-right,bottom-left";
|
|
offset = "45x5";
|
|
origin = "top-right";
|
|
timeout = 15;
|
|
};
|
|
rule-telegram = {
|
|
"desktop_entry" = "org.telegram.desktop";
|
|
"urgency" = "normal";
|
|
};
|
|
};
|
|
};
|
|
home.packages = with pkgs; [
|
|
dconf
|
|
glib
|
|
wbg
|
|
swayidle
|
|
swaylock-effects
|
|
libnotify
|
|
wdisplays
|
|
pwvucontrol
|
|
wl-clipboard-rs
|
|
polkit_gnome
|
|
xwayland-satellite
|
|
papirus-icon-theme
|
|
#libsForQt5.qt5ct
|
|
#kdePackages.qt6ct
|
|
#libsForQt5.qtstyleplugin-kvantum
|
|
#kdePackages.qtstyleplugin-kvantum
|
|
#adwaita-qt
|
|
#adwaita-qt6
|
|
];
|
|
|
|
gtk = {
|
|
enable = true;
|
|
#iconTheme = {
|
|
# name = "Papirus-Dark";
|
|
# package = pkgs.papirus-icon-theme;
|
|
};
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "gtk3";
|
|
};
|
|
|
|
xdg.mime.enable = true;
|
|
xdg.mimeApps = {
|
|
enable = true;
|
|
defaultApplications = let
|
|
file_manager = ["yazi.desktop"];
|
|
web_browser = ["io.github.zen_browser.zen.desktop"];
|
|
image_viewer = ["imv.desktop"];
|
|
video_player = ["io.mpv.Mpv.desktop"];
|
|
pdf_reader = ["org.pwmt.zathura-pdf-mupdf.desktop"];
|
|
in {
|
|
"inode/directory" = file_manager;
|
|
"video/x-matroska" = video_player;
|
|
"application/pdf" = pdf_reader;
|
|
};
|
|
};
|
|
xdg.userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
templates = "${config.home.homeDirectory}/temps";
|
|
publicShare = "${config.home.homeDirectory}/pub";
|
|
desktop = "${config.home.homeDirectory}/desktop";
|
|
download = "${config.home.homeDirectory}/downloads";
|
|
documents = "${config.home.homeDirectory}/docs";
|
|
pictures = "${config.home.homeDirectory}/pics";
|
|
videos = "${config.home.homeDirectory}/vids";
|
|
music = "${config.home.homeDirectory}/music";
|
|
};
|
|
xdg.configFile = {
|
|
#niri = {
|
|
# recursive = true;
|
|
# source = dotfiles/niri;
|
|
#};
|
|
#qt5ct = {
|
|
# recursive = true;
|
|
# source = dotfiles/qt5ct;
|
|
#};
|
|
#qt6ct = {
|
|
# recursive = true;
|
|
# source = dotfiles/qt6ct;
|
|
#};
|
|
#Kvantum = {
|
|
# recursive = true;
|
|
# source = dotfiles/Kvantum;
|
|
#};
|
|
};
|
|
systemd.user.settings.Manager.DefaultEnvironment = {
|
|
QT_QPA_PLATFORMTHEME = "gtk3";
|
|
QT_QPA_PLATFORM = "wayland";
|
|
DISPLAY = ":123";
|
|
};
|
|
systemd.user.targets.tray = {
|
|
# workaround for udiskie
|
|
Unit = {
|
|
Description = "Home Manager System Tray";
|
|
};
|
|
};
|
|
systemd.user.services = {
|
|
udiskie = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
};
|
|
waybar = {
|
|
# Unit = {
|
|
# Description = "Swaync notification daemon";
|
|
# };
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
# Service = {
|
|
# Type = "dbus";
|
|
# ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
|
|
# Restart = "on-failure";
|
|
# RestartSec = 1;
|
|
# TimeoutStopSec = 10;
|
|
# };
|
|
};
|
|
copyq = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
Service = {
|
|
Environment = lib.mkForce "QT_QPA_PLATFORM=wayland";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
wbg = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
Service = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.wbg}/bin/wbg ${config.stylix.image}";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
network-manager-applet = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
};
|
|
gnome-polkit-agent = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
Service = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
wlsunset = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
};
|
|
swayidle = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
};
|
|
|
|
xwayland-satellite = {
|
|
Unit = {
|
|
PartOf = ["graphical-session.target"];
|
|
After = ["graphical-session.target"];
|
|
Requisite = ["graphical-session.target"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["niri.service"];
|
|
};
|
|
Service = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.xwayland-satellite}/bin/xwayland-satellite :123";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
};
|
|
}
|