initial
This commit is contained in:
310
hosts/dunamis/users/work/desktop/river/main.nix
Normal file
310
hosts/dunamis/users/work/desktop/river/main.nix
Normal file
@ -0,0 +1,310 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user