initial
This commit is contained in:
176
hosts/sarien/users/user/desktop/gnome/main.nix
Normal file
176
hosts/sarien/users/user/desktop/gnome/main.nix
Normal file
@ -0,0 +1,176 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
# pkgs-51b85c,
|
||||
# lib,
|
||||
...
|
||||
}: {
|
||||
# imports = [./walker.nix];
|
||||
# services.playerctld.enable = true;
|
||||
services.gnome-keyring = {
|
||||
enable = true;
|
||||
components = ["secrets" "ssh"];
|
||||
};
|
||||
services.ssh-agent.enable = true;
|
||||
programs.keychain = {
|
||||
enable = true;
|
||||
keys = ["id_ed25519"];
|
||||
enableNushellIntegration = true;
|
||||
extraFlags = [
|
||||
"--quiet"
|
||||
"--noask"
|
||||
];
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
nautilus
|
||||
ghostty
|
||||
helvum
|
||||
loupe
|
||||
evince
|
||||
junction
|
||||
celluloid
|
||||
mission-center
|
||||
dconf
|
||||
glib
|
||||
libnotify
|
||||
playerctl
|
||||
# wdisplays
|
||||
pwvucontrol
|
||||
wl-clipboard
|
||||
# polkit_gnome
|
||||
# libqalculate
|
||||
#papirus-icon-theme
|
||||
# gnomeExtensions.alphabetical-app-grid
|
||||
# gnomeExtensions.appindicator
|
||||
# gnomeExtensions.caffeine
|
||||
# gnomeExtensions.pano
|
||||
# gnomeExtensions.forge
|
||||
];
|
||||
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.mime.enable = true;
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = let
|
||||
file_manager = ["org.gnome.Nautilus.desktop"];
|
||||
web_browser = ["re.sonny.Junction.desktop"];
|
||||
# web_browser = ["io.github.zen_browser.zen.desktop"];
|
||||
image_viewer = ["org.gnome.Loupe.desktop"];
|
||||
video_player = ["io.github.celluloid_player.Celluloid.desktop"];
|
||||
pdf_reader = ["org.gnome.Evince.desktop"];
|
||||
in {
|
||||
"inode/directory" = file_manager;
|
||||
"video/x-matroska" = video_player;
|
||||
"video/mp4" = video_player;
|
||||
"video/mpeg" = video_player;
|
||||
"video/x-mpeg" = video_player;
|
||||
"image/png" = image_viewer;
|
||||
"image/jpeg" = image_viewer;
|
||||
"application/pdf" = pdf_reader;
|
||||
"text/html" = web_browser;
|
||||
"x-scheme-handler/http" = web_browser;
|
||||
"x-scheme-handler/https" = web_browser;
|
||||
"x-scheme-handler/about" = web_browser;
|
||||
"x-scheme-handler/unknown" = web_browser;
|
||||
};
|
||||
};
|
||||
# gtk.enable = true;
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme.name = "gtk3";
|
||||
# };
|
||||
dconf.settings = {
|
||||
"io/github/celluloid-player/celluloid" = {
|
||||
always-use-floating-controls = true;
|
||||
always-use-floating-header-bar = true;
|
||||
csd-enable = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/a11y/applications" = {
|
||||
screen-reader-enabled = false;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
clock-show-seconds = true;
|
||||
color-scheme = "prefer-dark";
|
||||
cursor-blink-time = 1200;
|
||||
enable-animations = true;
|
||||
gtk-enable-primary-paste = false;
|
||||
text-scaling-factor = 1.0;
|
||||
toolbar-style = "text";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/mouse" = {
|
||||
accel-profile = "flat";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
switch-input-source = ["<Super>Escape"];
|
||||
switch-input-source-backward = ["<Shift><Super>Escape"];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
auto-raise = true;
|
||||
button-layout = "icon:close";
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
dynamic-workspaces = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/color" = {
|
||||
enabled-extensions = ["drive-menu@gnome-shell-extensions.gcampax.github.com" "caffeine@patapon.info" "AlphabeticalAppGrid@stuarthayhurst" "appindicatorsupport@rgcjonas.gmail.com" "forge@jmmaranan.com"];
|
||||
night-light-enabled = false;
|
||||
night-light-schedule-automatic = false;
|
||||
};
|
||||
|
||||
"org/gnome/software" = {
|
||||
download-updates = false;
|
||||
download-updates-notify = false;
|
||||
first-run = false;
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = {
|
||||
show-extensions-notice = false;
|
||||
};
|
||||
|
||||
"org/gtk/gtk4/settings/file-chooser" = {
|
||||
date-format = "regular";
|
||||
location-mode = "path-bar";
|
||||
show-hidden = true;
|
||||
sidebar-width = 140;
|
||||
sort-column = "name";
|
||||
sort-directories-first = true;
|
||||
sort-order = "ascending";
|
||||
type-format = "category";
|
||||
view-type = "list";
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
date-format = "regular";
|
||||
location-mode = "path-bar";
|
||||
show-hidden = true;
|
||||
show-size-column = true;
|
||||
show-type-column = true;
|
||||
sort-column = "name";
|
||||
sort-directories-first = false;
|
||||
sort-order = "ascending";
|
||||
type-format = "category";
|
||||
};
|
||||
};
|
||||
}
|
68
hosts/sarien/users/user/desktop/jay/i3status-rust-0-33-2.nix
Normal file
68
hosts/sarien/users/user/desktop/jay/i3status-rust-0-33-2.nix
Normal file
@ -0,0 +1,68 @@
|
||||
# with import <nixpkgs> {}; # bring all of Nixpkgs into scope
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
dbus,
|
||||
libpulseaudio,
|
||||
notmuch,
|
||||
openssl,
|
||||
ethtool,
|
||||
lm_sensors,
|
||||
iw,
|
||||
iproute2,
|
||||
withICUCalendar ? false,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "i3status-rust";
|
||||
version = "0.33.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "greshake";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-xJm4MsEU0OVX401WvKllg3zUwgCvjLxlAQzXE/oD1J0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9jbJVnZhFbMYldBkRVSIiorUYDNtF3AAwNEpyNJXpjo=";
|
||||
|
||||
nativeBuildInputs = [pkg-config makeWrapper];
|
||||
|
||||
buildInputs = [dbus libpulseaudio notmuch openssl lm_sensors];
|
||||
|
||||
buildFeatures =
|
||||
[
|
||||
"notmuch"
|
||||
"maildir"
|
||||
"pulseaudio"
|
||||
]
|
||||
++ (lib.optionals withICUCalendar ["icu_calendar"]);
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace src/util.rs \
|
||||
--replace "/usr/share/i3status-rust" "$out/share"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share
|
||||
cp -R examples files/* $out/share
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/i3status-rs --prefix PATH : ${lib.makeBinPath [iproute2 ethtool iw]}
|
||||
'';
|
||||
|
||||
# Currently no tests are implemented, so we avoid building the package twice
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Very resource-friendly and feature-rich replacement for i3status";
|
||||
homepage = "https://github.com/greshake/i3status-rust";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "i3status-rs";
|
||||
maintainers = with maintainers; [backuitist globin];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
308
hosts/sarien/users/user/desktop/jay/main.nix
Normal file
308
hosts/sarien/users/user/desktop/jay/main.nix
Normal file
@ -0,0 +1,308 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.jay];
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
config.jay = {
|
||||
default = ["gtk"];
|
||||
"org.freedesktop.impl.portal.ScreenCast" = ["jay"];
|
||||
"org.freedesktop.impl.portal.RemoteDesktop" = ["jay"];
|
||||
"org.freedesktop.impl.portal.Inhibit" = ["none"];
|
||||
"org.freedesktop.impl.portal.FileChooser" = ["gtk4"];
|
||||
};
|
||||
};
|
||||
programs.i3status-rust = {
|
||||
enable = true;
|
||||
package = pkgs.callPackage ./i3status-rust-0-33-2.nix {};
|
||||
bars = {
|
||||
default = {
|
||||
theme = "plain";
|
||||
blocks = [
|
||||
{
|
||||
alert = 10.0;
|
||||
block = "disk_space";
|
||||
info_type = "available";
|
||||
interval = 60;
|
||||
path = "/";
|
||||
warning = 20.0;
|
||||
}
|
||||
{
|
||||
block = "memory";
|
||||
format = " $icon mem_used_percents ";
|
||||
format_alt = " $icon $swap_used_percents ";
|
||||
}
|
||||
{
|
||||
block = "cpu";
|
||||
interval = 1;
|
||||
}
|
||||
{
|
||||
block = "load";
|
||||
format = " $icon $1m ";
|
||||
interval = 1;
|
||||
}
|
||||
{
|
||||
block = "sound";
|
||||
}
|
||||
{
|
||||
block = "time";
|
||||
format = " $timestamp.datetime(f:'%a %d/%m %R') ";
|
||||
interval = 60;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.i3status = {
|
||||
enable = true;
|
||||
enableDefault = true;
|
||||
general = {
|
||||
output_format = "i3bar";
|
||||
interval = 1;
|
||||
};
|
||||
};
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm -e";
|
||||
fields = "filename,name,generic,keywords,categories,exec";
|
||||
dpi-aware = false;
|
||||
horizontal-pad = 0;
|
||||
vertical-pad = 0;
|
||||
show-actions = true;
|
||||
match-mode = "fuzzy";
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
};
|
||||
border = {
|
||||
width = 3;
|
||||
radius = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile.jay = {
|
||||
target = "jay/config.toml";
|
||||
recursive = true;
|
||||
source = (pkgs.formats.toml {}).generate "jay-config" {
|
||||
keymap = ''
|
||||
xkb_keymap {
|
||||
xkb_keycodes { include "evdev+aliases(qwerty)" };
|
||||
xkb_types { include "complete" };
|
||||
xkb_compat { include "complete" };
|
||||
xkb_symbols { include "pc+us+inet(evdev)" };
|
||||
};
|
||||
'';
|
||||
on-graphics-initialized = [
|
||||
# {
|
||||
# type = "exec";
|
||||
# exec = "mako";
|
||||
# }
|
||||
{
|
||||
type = "exec";
|
||||
exec = "~/wl-tray-bridge/target/release/wl-tray-bridge";
|
||||
}
|
||||
];
|
||||
outputs = [
|
||||
{
|
||||
match.connector = "eDP-1";
|
||||
scale = 1.2;
|
||||
}
|
||||
];
|
||||
vrr = {
|
||||
mode = "always";
|
||||
cursor-hz = 75;
|
||||
};
|
||||
repeat-rate = {
|
||||
rate = 50;
|
||||
delay = 200;
|
||||
};
|
||||
theme = {
|
||||
bg-color = "#${config.lib.stylix.colors.base00}";
|
||||
bar-bg-color = "#${config.lib.stylix.colors.base00}";
|
||||
border-color = "#${config.lib.stylix.colors.base0D}";
|
||||
separator-color = "#${config.lib.stylix.colors.base01}";
|
||||
bar-status-text-color = "#${config.lib.stylix.colors.base05}";
|
||||
focused-title-text-color = "#${config.lib.stylix.colors.base07}";
|
||||
focused-title-bg-color = "#${config.lib.stylix.colors.base00}";
|
||||
focused-inactive-title-text-color = "#${config.lib.stylix.colors.base03}";
|
||||
focused-inactive-title-bg-color = "#${config.lib.stylix.colors.base00}";
|
||||
unfocused-title-text-color = "#${config.lib.stylix.colors.base03}";
|
||||
unfocused-title-bg-color = "#${config.lib.stylix.colors.base01}";
|
||||
attention-requested-bg-color = "#${config.lib.stylix.colors.base09}";
|
||||
font = "${config.stylix.fonts.sansSerif.name}";
|
||||
border-width = 2;
|
||||
title-height = 24;
|
||||
};
|
||||
status = {
|
||||
format = "pango";
|
||||
exec = ["i3status-rs" "config-default"];
|
||||
};
|
||||
window-management-key = "Super_L";
|
||||
shortcuts = let
|
||||
left = "n";
|
||||
down = "e";
|
||||
up = "u";
|
||||
right = "i";
|
||||
in {
|
||||
"logo-${left}" = "focus-left";
|
||||
"logo-${down}" = "focus-down";
|
||||
"logo-${up}" = "focus-up";
|
||||
"logo-${right}" = "focus-right";
|
||||
"logo-shift-${left}" = "move-left";
|
||||
"logo-shift-${down}" = "move-down";
|
||||
"logo-shift-${up}" = "move-up";
|
||||
"logo-shift-${right}" = "move-right";
|
||||
logo-d = "split-horizontal";
|
||||
logo-v = "split-vertical";
|
||||
logo-t = "toggle-split";
|
||||
logo-m = "toggle-mono";
|
||||
logo-shift-m = "toggle-fullscreen";
|
||||
logo-f = "focus-parent";
|
||||
logo-q = "close";
|
||||
logo-shift-f = "toggle-floating";
|
||||
alt-Return = {
|
||||
type = "exec";
|
||||
exec = "wezterm";
|
||||
};
|
||||
logo-space = {
|
||||
type = "exec";
|
||||
exec = "fuzzel";
|
||||
};
|
||||
logo-ctrl-q = "quit";
|
||||
logo-shift-r = "reload-config-toml";
|
||||
ctrl-alt-F1 = {
|
||||
type = "switch-to-vt";
|
||||
num = 1;
|
||||
};
|
||||
ctrl-alt-F2 = {
|
||||
type = "switch-to-vt";
|
||||
num = 2;
|
||||
};
|
||||
ctrl-alt-F3 = {
|
||||
type = "switch-to-vt";
|
||||
num = 3;
|
||||
};
|
||||
ctrl-alt-F4 = {
|
||||
type = "switch-to-vt";
|
||||
num = 4;
|
||||
};
|
||||
ctrl-alt-F5 = {
|
||||
type = "switch-to-vt";
|
||||
num = 5;
|
||||
};
|
||||
ctrl-alt-F6 = {
|
||||
type = "switch-to-vt";
|
||||
num = 6;
|
||||
};
|
||||
ctrl-alt-F7 = {
|
||||
type = "switch-to-vt";
|
||||
num = 7;
|
||||
};
|
||||
ctrl-alt-F8 = {
|
||||
type = "switch-to-vt";
|
||||
num = 8;
|
||||
};
|
||||
ctrl-alt-F9 = {
|
||||
type = "switch-to-vt";
|
||||
num = 9;
|
||||
};
|
||||
ctrl-alt-F10 = {
|
||||
type = "switch-to-vt";
|
||||
num = 10;
|
||||
};
|
||||
ctrl-alt-F11 = {
|
||||
type = "switch-to-vt";
|
||||
num = 11;
|
||||
};
|
||||
ctrl-alt-F12 = {
|
||||
type = "switch-to-vt";
|
||||
num = 12;
|
||||
};
|
||||
logo-1 = {
|
||||
type = "show-workspace";
|
||||
name = "1";
|
||||
};
|
||||
logo-2 = {
|
||||
type = "show-workspace";
|
||||
name = "2";
|
||||
};
|
||||
logo-3 = {
|
||||
type = "show-workspace";
|
||||
name = "3";
|
||||
};
|
||||
logo-4 = {
|
||||
type = "show-workspace";
|
||||
name = "4";
|
||||
};
|
||||
logo-5 = {
|
||||
type = "show-workspace";
|
||||
name = "5";
|
||||
};
|
||||
logo-6 = {
|
||||
type = "show-workspace";
|
||||
name = "6";
|
||||
};
|
||||
logo-7 = {
|
||||
type = "show-workspace";
|
||||
name = "7";
|
||||
};
|
||||
logo-8 = {
|
||||
type = "show-workspace";
|
||||
name = "8";
|
||||
};
|
||||
logo-9 = {
|
||||
type = "show-workspace";
|
||||
name = "9";
|
||||
};
|
||||
logo-0 = {
|
||||
type = "show-workspace";
|
||||
name = "10";
|
||||
};
|
||||
logo-shift-1 = {
|
||||
type = "move-to-workspace";
|
||||
name = "1";
|
||||
};
|
||||
logo-shift-2 = {
|
||||
type = "move-to-workspace";
|
||||
name = "2";
|
||||
};
|
||||
logo-shift-3 = {
|
||||
type = "move-to-workspace";
|
||||
name = "3";
|
||||
};
|
||||
logo-shift-4 = {
|
||||
type = "move-to-workspace";
|
||||
name = "4";
|
||||
};
|
||||
logo-shift-5 = {
|
||||
type = "move-to-workspace";
|
||||
name = "5";
|
||||
};
|
||||
logo-shift-6 = {
|
||||
type = "move-to-workspace";
|
||||
name = "6";
|
||||
};
|
||||
logo-shift-7 = {
|
||||
type = "move-to-workspace";
|
||||
name = "7";
|
||||
};
|
||||
logo-shift-8 = {
|
||||
type = "move-to-workspace";
|
||||
name = "8";
|
||||
};
|
||||
logo-shift-9 = {
|
||||
type = "move-to-workspace";
|
||||
name = "9";
|
||||
};
|
||||
logo-shift-0 = {
|
||||
type = "move-to-workspace";
|
||||
name = "10";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
28
hosts/sarien/users/user/desktop/plasma/main.nix
Normal file
28
hosts/sarien/users/user/desktop/plasma/main.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
# lib,
|
||||
...
|
||||
}: {
|
||||
#imports = [ ];
|
||||
stylix.targets.kde.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
noto-fonts-emoji
|
||||
base16-schemes
|
||||
wl-clipboard-rs
|
||||
pwvucontrol
|
||||
adw-gtk3
|
||||
];
|
||||
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";
|
||||
};
|
||||
}
|
28
hosts/sarien/users/user/desktop/river/fuzzel.nix
Normal file
28
hosts/sarien/users/user/desktop/river/fuzzel.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
fuzzel.enable =
|
||||
lib.mkEnableOption "enable fuzzel launcher";
|
||||
};
|
||||
config = lib.mkIf config.fuzzel.enable {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm -e";
|
||||
fields = "filename,name,generic,keywords,categories,exec";
|
||||
match-mode = "fuzzy";
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
};
|
||||
border = {
|
||||
width = 3;
|
||||
radius = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
310
hosts/sarien/users/user/desktop/river/main.nix
Normal file
310
hosts/sarien/users/user/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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
33
hosts/sarien/users/user/desktop/river/swayidle.nix
Normal file
33
hosts/sarien/users/user/desktop/river/swayidle.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
swayidle.enable =
|
||||
lib.mkEnableOption "enable swayidle";
|
||||
};
|
||||
config = lib.mkIf config.swayidle.enable {
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
systemdTarget = "graphical-session.target";
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 300;
|
||||
command = "${pkgs.swaylock-effects}/bin/swaylock -fF";
|
||||
}
|
||||
{
|
||||
timeout = 600;
|
||||
command = "${pkgs.niri}/bin/niri msg action power-off-monitors";
|
||||
}
|
||||
];
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${pkgs.swaylock-effects}/bin/swaylock -fF";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
30
hosts/sarien/users/user/desktop/river/swaylock.nix
Normal file
30
hosts/sarien/users/user/desktop/river/swaylock.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
component.swaylock.enable =
|
||||
lib.mkEnableOption "enable swaylock";
|
||||
};
|
||||
config = lib.mkIf config.component.swaylock.enable {
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
font-size = 25;
|
||||
indicator-radius = 100;
|
||||
indicator-thickness = 20;
|
||||
indicator-idle-visible = true;
|
||||
|
||||
# -effect section
|
||||
screenshots = true;
|
||||
clock = true;
|
||||
effect-pixelate = 60;
|
||||
effect-vignette = "0.5:0.5";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
18
hosts/sarien/users/user/desktop/river/udiskie.nix
Normal file
18
hosts/sarien/users/user/desktop/river/udiskie.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
udiskie.enable =
|
||||
lib.mkEnableOption "enable udiskie";
|
||||
};
|
||||
config = lib.mkIf config.udiskie.enable {
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
automount = false;
|
||||
notify = true;
|
||||
tray = "auto";
|
||||
};
|
||||
};
|
||||
}
|
418
hosts/sarien/users/user/desktop/river/waybar.nix
Normal file
418
hosts/sarien/users/user/desktop/river/waybar.nix
Normal file
@ -0,0 +1,418 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
waybar.enable =
|
||||
lib.mkEnableOption "enable waybar";
|
||||
};
|
||||
config = lib.mkIf config.waybar.enable {
|
||||
stylix.targets.waybar.enable = false;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
#package = pkgs.waybar-0.11.0";
|
||||
systemd = {
|
||||
enable = true;
|
||||
target = "graphical-session.target";
|
||||
};
|
||||
settings = {
|
||||
bar-0 = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 40;
|
||||
spacing = 4;
|
||||
margin-left = 48;
|
||||
margin-right = 48;
|
||||
margin-top = 4;
|
||||
reload_style_on_change = true;
|
||||
modules-left = [
|
||||
#"custom/notification"
|
||||
"group/niri"
|
||||
"wlr/taskbar"
|
||||
];
|
||||
modules-center = ["clock" "privacy"];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"wireplumber"
|
||||
"group/laptop"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
"niri/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
focused = "";
|
||||
active = "";
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
"niri/language" = {
|
||||
format = "{}";
|
||||
format-en = "🇺🇸";
|
||||
format-uk = "🇺🇦";
|
||||
};
|
||||
"custom/separator" = {
|
||||
format = "|";
|
||||
interval = "once";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/text" = {
|
||||
format = "here will be workspaces";
|
||||
interval = "once";
|
||||
tooltip = false;
|
||||
};
|
||||
"group/niri" = {
|
||||
orientation = "inherit";
|
||||
modules = [
|
||||
"niri/language"
|
||||
"niri/workspaces"
|
||||
];
|
||||
};
|
||||
"group/laptop" = {
|
||||
orientation = "inherit";
|
||||
drawer = {
|
||||
transition-duration = 500;
|
||||
children-class = "laptop";
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"battery"
|
||||
"custom/kbd-backlight"
|
||||
"custom/separator"
|
||||
"backlight"
|
||||
"custom/separator"
|
||||
];
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
"tray" = {
|
||||
icon-size = 24;
|
||||
spacing = 3;
|
||||
};
|
||||
"clock" = {
|
||||
interval = 1;
|
||||
format = "{:%H:%M:%S}";
|
||||
tooltip-format = "{:%d.%m.%Y}";
|
||||
};
|
||||
"backlight" = {
|
||||
device = "intel_backlight";
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = ["" "" "" ""];
|
||||
on-scroll-up = "light -A 2%";
|
||||
on-scroll-down = "light -U 2%";
|
||||
};
|
||||
"custom/kbd-backlight" = {
|
||||
exec = "cat /sys/class/leds/platform::kbd_backlight/brightness";
|
||||
interval = 1;
|
||||
format = "{}% {icon}";
|
||||
format-icons = [""];
|
||||
on-scroll-up = "light -s sysfs/leds/platform::kbd_backlight -A 5%";
|
||||
on-scroll-down = "light -s sysfs/leds/platform::kbd_backlight -U 5%";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-full = "{capacity}% ";
|
||||
format-charging = "{capacity}% ";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{icon} {time}";
|
||||
format-icons = ["" "" "" "" "" "" "" "" "" ""];
|
||||
};
|
||||
"upower" = {
|
||||
icon-size = 16;
|
||||
format = "{percentage}";
|
||||
hide-if-empty = true;
|
||||
tooltip = true;
|
||||
tooltip-spacing = 20;
|
||||
};
|
||||
"power-profiles-daemon" = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||
tooltip = true;
|
||||
format-icons = {
|
||||
default = "";
|
||||
performance = "";
|
||||
balanced = "";
|
||||
power-saver = "";
|
||||
};
|
||||
};
|
||||
"wireplumber" = {
|
||||
scroll-step = 3;
|
||||
format = "{volume}% {icon}";
|
||||
format-muted = "";
|
||||
format-icons = ["" "" ""];
|
||||
on-click = "pwvucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "";
|
||||
none = "";
|
||||
dnd-notification = "";
|
||||
dnd-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
"privacy" = {
|
||||
# icon-spacing = 4;
|
||||
icon-size = 16;
|
||||
transition-duration = 250;
|
||||
screenshare = {
|
||||
type = "screenshare";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
audio-in = {
|
||||
type = "audio-in";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
};
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
icon-size = 24;
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
tooltip-format = "{title}";
|
||||
on-click = "activate";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
||||
* {
|
||||
font-family: Iosevka Nerd Font Propo, FontAwesome;
|
||||
font-size: 100%;
|
||||
/* margin: 0px 2px 2px 2px; */
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
/* border-top: 3px solid @overlay0; */
|
||||
color: @base05;
|
||||
/* padding: 0px 2px 0px 0px; */
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
border-radius: 12px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.modules-center {
|
||||
border-radius: 12px;
|
||||
}
|
||||
.modules-right {
|
||||
border-radius: 12px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @base01;
|
||||
border: 1px solid @base0E;
|
||||
}
|
||||
tooltip label {
|
||||
color: @base05;
|
||||
}
|
||||
/* .modules-center {
|
||||
margin: 4px;
|
||||
margin-top: 6px;
|
||||
}*/
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#custom-kbd-backlight,
|
||||
#workspaces,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#laptop,
|
||||
#tray,
|
||||
#mode,
|
||||
#privacy
|
||||
#privacy-item,
|
||||
#idle_inhibitor,
|
||||
#backlight-slider,
|
||||
#custom-notification,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#taskbar,
|
||||
#language,
|
||||
#upower,
|
||||
#mpris,
|
||||
#mpd {
|
||||
padding: 0 0.8em;
|
||||
border-radius: 12px;
|
||||
color: @base05;
|
||||
background-color: @base00;
|
||||
}
|
||||
|
||||
/* #upower, */
|
||||
#battery,
|
||||
#backlight,
|
||||
#custom-kbd-backlight,
|
||||
#backlight-slider,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#network,
|
||||
#wireplumber,
|
||||
#power-profiles-daemon {
|
||||
padding-right: 0.8em;
|
||||
}
|
||||
|
||||
#language {
|
||||
padding-right: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
#workspaces {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
#taskbar,
|
||||
#workspaces {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
#taskbar button,
|
||||
#workspaces button {
|
||||
padding: 0 0.3em;
|
||||
}
|
||||
#taskbar button:hover {
|
||||
box-shadow: transparent;
|
||||
}
|
||||
#taskbar.empty,
|
||||
window#empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #ed8796;
|
||||
color: #181926;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: #ed8796;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: #b7bdf8;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: #8aadf4;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
padding: 0 0.9em;
|
||||
}
|
||||
|
||||
|
||||
#idle_inhibitor:hover {
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: @base05;
|
||||
color: @base00;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated:hover {
|
||||
box-shadow: inset 0 -3px @base00;
|
||||
}
|
||||
|
||||
#laptop,
|
||||
#privacy {
|
||||
padding: 0em;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: @base00;
|
||||
color: @base0C;
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: @base00;
|
||||
color: @base0E;
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: @base;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
22
hosts/sarien/users/user/desktop/river/wlsunset.nix
Normal file
22
hosts/sarien/users/user/desktop/river/wlsunset.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
wlsunset.enable =
|
||||
lib.mkEnableOption "enable wlsunset";
|
||||
};
|
||||
config = lib.mkIf config.wlsunset.enable {
|
||||
services.wlsunset = {
|
||||
enable = true;
|
||||
latitude = "49.6";
|
||||
longitude = "36.1";
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 3000;
|
||||
};
|
||||
systemdTarget = "graphical-session.target";
|
||||
};
|
||||
};
|
||||
}
|
10
hosts/sarien/users/user/desktop/sway/chrome-backlight.nix
Normal file
10
hosts/sarien/users/user/desktop/sway/chrome-backlight.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{lib, ...}: {
|
||||
programs.waybar.settings.bar-0."custom/kbd-backlight" = lib.mkDefault {
|
||||
exec = "cat /sys/class/leds/chromeos::kbd_backlight/brightness";
|
||||
interval = 1;
|
||||
format = "{}% {icon}";
|
||||
format-icons = [""];
|
||||
on-scroll-up = "light -s sysfs/leds/chromeos::kbd_backlight -A 5%";
|
||||
on-scroll-down = "light -s sysfs/leds/chromeos::kbd_backlight -U 5%";
|
||||
};
|
||||
}
|
28
hosts/sarien/users/user/desktop/sway/fuzzel.nix
Normal file
28
hosts/sarien/users/user/desktop/sway/fuzzel.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
fuzzel.enable =
|
||||
lib.mkEnableOption "enable fuzzel launcher";
|
||||
};
|
||||
config = lib.mkIf config.fuzzel.enable {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm -e";
|
||||
fields = "filename,name,generic,keywords,categories,exec";
|
||||
match-mode = "fuzzy";
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
};
|
||||
border = {
|
||||
width = 4;
|
||||
radius = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
104
hosts/sarien/users/user/desktop/sway/hyprlock.nix
Normal file
104
hosts/sarien/users/user/desktop/sway/hyprlock.nix
Normal file
@ -0,0 +1,104 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
component.hyprlock.enable =
|
||||
lib.mkEnableOption "enable hyprlock";
|
||||
};
|
||||
config = lib.mkIf config.component.hyprlock.enable {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
#grace = 300;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
|
||||
background = [
|
||||
{
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = [
|
||||
{
|
||||
size = "274, 50";
|
||||
rounding = 12;
|
||||
outline_thickness = 4;
|
||||
position = "0, -30";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
font_color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
inner_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
check_color = "rgb(${config.lib.stylix.colors.base0A})";
|
||||
fail_color = "rgb(${config.lib.stylix.colors.base08})";
|
||||
placeholder_text = "locked...";
|
||||
fail_text = "wrong";
|
||||
#placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
|
||||
shadow_passes = 0;
|
||||
}
|
||||
];
|
||||
shape = [
|
||||
{
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "150, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
position = "-62, 30";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
{
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "120, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
position = "77, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "$LAYOUT"; #"cmd[update:1000] ${pkgs.uutils-coreutils-noprefix}/bin/echo $(${pkgs.uutils-coreutils-noprefix}/bin/date +%H:%M:%S)";
|
||||
#text = "$TIME
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
position = "-62, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "cmd[update:1000] ${pkgs.uutils-coreutils-noprefix}/bin/echo $(${pkgs.uutils-coreutils-noprefix}/bin/date +%H:%M:%S)";
|
||||
#text = "$TIME
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
position = "77, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
917
hosts/sarien/users/user/desktop/sway/main-scroller.nix
Normal file
917
hosts/sarien/users/user/desktop/sway/main-scroller.nix
Normal file
@ -0,0 +1,917 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [../theming/gruvbox.nix];
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.plugins = ["${pkgs.hyprlandPlugins.hyprscroller}/lib/libhyprscroller.so"];
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
input = {
|
||||
kb_layout = "us,ua";
|
||||
repeat_rate = 50;
|
||||
repeat_delay = 300;
|
||||
# mouse
|
||||
accel_profile = "flat";
|
||||
sensitivity = 0;
|
||||
};
|
||||
device = [
|
||||
{
|
||||
name = "at-translated-set-2-keyboard";
|
||||
kb_variant = "colemak_dh,";
|
||||
}
|
||||
{
|
||||
name = "keyd-virtual-keyboard";
|
||||
kb_variant = "colemak_dh,";
|
||||
}
|
||||
];
|
||||
monitor = [
|
||||
", preferred, auto, 1"
|
||||
"eDP-1, preferred, auto, 1.2"
|
||||
];
|
||||
env = [
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||
];
|
||||
decoration = {
|
||||
# shadow_offset = "0 5";
|
||||
# "col.shadow" = "rgba(00000099)";
|
||||
rounding = 12;
|
||||
};
|
||||
bezier = [
|
||||
"easeOutQuad, 0.25, 0.46, 0.45, 0.94"
|
||||
"easeOutExpo, 0.19, 1, 0.22, 1"
|
||||
];
|
||||
animation = [
|
||||
"workspaces, 1, 3, easeOutExpo, slidefade 20%"
|
||||
"windows, 1, 3, easeOutExpo, popin 80%"
|
||||
"layers, 1, 2, easeOutExpo, fade"
|
||||
];
|
||||
|
||||
"$mod" = "SUPER";
|
||||
"$modShift" = "$mod SHIFT";
|
||||
"$modCtrl" = "$mod CTRL";
|
||||
"$modShiftCtrl" = "$mod SHIFT CTRL";
|
||||
|
||||
"$left" = "N";
|
||||
"$down" = "E";
|
||||
"$up" = "I";
|
||||
"$right" = "O";
|
||||
|
||||
"$terminal" = "kitty";
|
||||
"$screenLocker" = "hyprlock";
|
||||
"$webBrowser" = "io.github.zen_browser.zen";
|
||||
"$clipboardManager" = "copyq menu";
|
||||
|
||||
general = {
|
||||
gaps_in = 4;
|
||||
gaps_out = 4;
|
||||
border_size = 4;
|
||||
allow_tearing = true;
|
||||
layout = "scroller";
|
||||
};
|
||||
|
||||
bind = [
|
||||
"$mod, Return, exec, $terminal"
|
||||
"$mod, Space, exec, fuzzel"
|
||||
"$mod, Escape, exec, hyprctl switchxkblayout all next"
|
||||
"$mod, M, scroller:fitsize, active"
|
||||
"$mod, K, scroller:cyclesize"
|
||||
"$modCtrl, H, killactive"
|
||||
"$modCtrl, M, fullscreen"
|
||||
|
||||
"$modCtrl, L, exec, $screenLocker"
|
||||
"$modCtrl, B, exec, $webBrowser"
|
||||
"$modCtrl, V, exec, $clipboardManager"
|
||||
|
||||
", Print, exec, grimblast --freeze copy area" #${xdg.userDirs.pictures}/screenshots/"
|
||||
"CTRL, Print, exec, grimblast --freeze copy active" #${xdg.userDirs.pictures}/screenshots/"
|
||||
"SHIFT, Print, exec, grimblast --freeze copy output" #${xdg.userDirs.pictures}/screenshots/"
|
||||
# navigation
|
||||
#"$modCtrl, N,"
|
||||
"$mod, $left, scroller:movefocus, l"
|
||||
"$mod, $down, scroller:movefocus, d"
|
||||
"$mod, $up, scroller:movefocus, u"
|
||||
"$mod, $right, scroller:movefocus, r"
|
||||
"$modshift, $left, workspace, e-1"
|
||||
"$modshift, $right, workspace, e+1"
|
||||
"$mod, left, scroller:movefocus, l"
|
||||
"$mod, up, scroller:movefocus, u"
|
||||
"$mod, down, scroller:movefocus, d"
|
||||
"$mod, right, scroller:movefocus, r"
|
||||
"$modShift, left, workspace, e-1"
|
||||
"$modShift, right, workspace, e+1"
|
||||
|
||||
"$modCtrl, $left, scroller:movewindow, l"
|
||||
"$modCtrl, $down, scroller:movewindow, d"
|
||||
"$modCtrl, $up, scroller:movewindow, u"
|
||||
"$modCtrl, $right, scroller:movewindow, r"
|
||||
"$modCtrl, left, scroller:movewindow, l"
|
||||
"$modCtrl, up, scroller:movewindow, u"
|
||||
"$modCtrl, down, scroller:movewindow, d"
|
||||
"$modCtrl, right, scroller:movewindow, r"
|
||||
# workspaces
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
"$modShiftCtrl, 1, movetoworkspace, 1"
|
||||
"$modShiftCtrl, 2, movetoworkspace, 2"
|
||||
"$modShiftCtrl, 3, movetoworkspace, 3"
|
||||
"$modShiftCtrl, 4, movetoworkspace, 4"
|
||||
"$modShiftCtrl, 5, movetoworkspace, 5"
|
||||
"$modShiftCtrl, 6, movetoworkspace, 6"
|
||||
"$modShiftCtrl, 7, movetoworkspace, 7"
|
||||
"$modShiftCtrl, 8, movetoworkspace, 8"
|
||||
"$modShiftCtrl, 9, movetoworkspace, 9"
|
||||
"$modShiftCtrl, 0, movetoworkspace, 10"
|
||||
|
||||
"$modShiftCtrl, $left, movetoworkspace, e-1"
|
||||
"$modShiftCtrl, $right, movetoworkspace, e+1"
|
||||
"$modShiftCtrl, left, movetoworkspace, e-1"
|
||||
"$modShiftCtrl, right, movetoworkspace, e+1"
|
||||
];
|
||||
binde = [
|
||||
"$mod, comma, resizeactive, -10 0"
|
||||
"$mod, period, resizeactive, 10 0"
|
||||
"$modShift, comma, resizeactive, 0 -10"
|
||||
"$modShift, period, resizeactive, 0 10"
|
||||
];
|
||||
bindl = [
|
||||
", switch:on:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, disable'"
|
||||
", switch:off:Lid Switch, exec, hyprctl keyword monitor 'eDP-1, auto, preferred, 1.2'"
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
"$modCtrl, Escape, exit"
|
||||
];
|
||||
bindm = [
|
||||
# mouse movements
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
"$mod ALT, mouse:272, resizewindow"
|
||||
];
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_distance = 500;
|
||||
};
|
||||
windowrulev2 = [
|
||||
"float, class:(com.github.hluk.copyq)"
|
||||
"float, class:(com.mojang.minecraft.java-edition)"
|
||||
"immediate, class:(com.mojang.minecraft.java-edition)"
|
||||
];
|
||||
};
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
};
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "hyprlock";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 601;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.playerctld.enable = true;
|
||||
services.gnome-keyring = {
|
||||
enable = true;
|
||||
components = ["secrets" "ssh"];
|
||||
};
|
||||
services.ssh-agent.enable = true;
|
||||
programs.keychain = {
|
||||
enable = true;
|
||||
keys = ["gitea-local"];
|
||||
enableNushellIntegration = true;
|
||||
extraFlags = [
|
||||
"--quiet"
|
||||
"--noask"
|
||||
];
|
||||
};
|
||||
services.network-manager-applet.enable = true;
|
||||
services.copyq.enable = true;
|
||||
|
||||
stylix.targets.waybar.enable = false;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
#package = pkgs.waybar-0.11.0";
|
||||
systemd = {
|
||||
enable = true;
|
||||
target = "graphical-session.target";
|
||||
};
|
||||
settings = {
|
||||
bar-0 = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 40;
|
||||
spacing = 4;
|
||||
margin-left = 8;
|
||||
margin-right = 8;
|
||||
margin-top = 4;
|
||||
reload_style_on_change = true;
|
||||
modules-left = [
|
||||
#"custom/notification"
|
||||
"group/hypr"
|
||||
"wlr/taskbar"
|
||||
];
|
||||
modules-center = ["clock" "privacy"];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"wireplumber"
|
||||
"group/laptop"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
"hyprland/workspaces" = {
|
||||
format = "{id}";
|
||||
format-icons = {
|
||||
focused = "";
|
||||
active = "";
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
"hyprland/language" = {
|
||||
format = "{}";
|
||||
format-en = "🇺🇸";
|
||||
format-uk = "🇺🇦";
|
||||
};
|
||||
"custom/separator" = {
|
||||
format = "|";
|
||||
interval = "once";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/text" = {
|
||||
format = "here will be workspaces";
|
||||
interval = "once";
|
||||
tooltip = false;
|
||||
};
|
||||
"group/hypr" = {
|
||||
orientation = "inherit";
|
||||
modules = [
|
||||
"hyprland/language"
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
};
|
||||
"group/laptop" = {
|
||||
orientation = "inherit";
|
||||
drawer = {
|
||||
transition-duration = 500;
|
||||
children-class = "laptop";
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"battery"
|
||||
"power-profiles-daemon"
|
||||
"custom/separator"
|
||||
"custom/kbd-backlight"
|
||||
"custom/separator"
|
||||
"backlight"
|
||||
"custom/separator"
|
||||
];
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
"tray" = {
|
||||
icon-size = 24;
|
||||
spacing = 3;
|
||||
};
|
||||
"clock" = {
|
||||
interval = 1;
|
||||
format = "{:%H:%M:%S}";
|
||||
tooltip-format = "{:%d.%m.%Y}";
|
||||
};
|
||||
"backlight" = {
|
||||
device = "intel_backlight";
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = ["" "" "" ""];
|
||||
on-scroll-up = "light -A 2%";
|
||||
on-scroll-down = "light -U 2%";
|
||||
};
|
||||
"custom/kbd-backlight" = {
|
||||
exec = "cat /sys/class/leds/platform::kbd_backlight/brightness";
|
||||
interval = 1;
|
||||
format = "{}% {icon}";
|
||||
format-icons = [""];
|
||||
on-scroll-up = "light -s sysfs/leds/platform::kbd_backlight -A 5%";
|
||||
on-scroll-down = "light -s sysfs/leds/platform::kbd_backlight -U 5%";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-full = "{capacity}% ";
|
||||
format-charging = "{capacity}% ";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{icon} {time}";
|
||||
format-icons = ["" "" "" "" "" "" "" "" "" ""];
|
||||
};
|
||||
"upower" = {
|
||||
icon-size = 16;
|
||||
format = "{percentage}";
|
||||
hide-if-empty = true;
|
||||
tooltip = true;
|
||||
tooltip-spacing = 20;
|
||||
};
|
||||
"power-profiles-daemon" = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||
tooltip = true;
|
||||
format-icons = {
|
||||
default = "";
|
||||
performance = "";
|
||||
balanced = "";
|
||||
power-saver = "";
|
||||
};
|
||||
};
|
||||
"wireplumber" = {
|
||||
scroll-step = 3;
|
||||
format = "{volume}% {icon}";
|
||||
format-muted = "";
|
||||
format-icons = ["" "" ""];
|
||||
on-click = "pwvucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "";
|
||||
none = "";
|
||||
dnd-notification = "";
|
||||
dnd-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
"privacy" = {
|
||||
# icon-spacing = 4;
|
||||
icon-size = 16;
|
||||
transition-duration = 250;
|
||||
screenshare = {
|
||||
type = "screenshare";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
audio-in = {
|
||||
type = "audio-in";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
};
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
icon-size = 24;
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
tooltip-format = "{title}";
|
||||
on-click = "activate";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
||||
* {
|
||||
font-family: Iosevka Nerd Font Propo, FontAwesome;
|
||||
font-size: 100%;
|
||||
/* margin: 0px 2px 2px 2px; */
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
/* border-top: 3px solid @overlay0; */
|
||||
color: @base05;
|
||||
/* padding: 0px 2px 0px 0px; */
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
border-radius: 12px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.modules-center {
|
||||
border-radius: 12px;
|
||||
}
|
||||
.modules-right {
|
||||
border-radius: 12px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @base01;
|
||||
border: 1px solid @base0E;
|
||||
}
|
||||
tooltip label {
|
||||
color: @base05;
|
||||
}
|
||||
/* .modules-center {
|
||||
margin: 4px;
|
||||
margin-top: 6px;
|
||||
}*/
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#custom-kbd-backlight,
|
||||
#workspaces,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#laptop,
|
||||
#tray,
|
||||
#mode,
|
||||
#privacy
|
||||
#privacy-item,
|
||||
#idle_inhibitor,
|
||||
#backlight-slider,
|
||||
#custom-notification,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#taskbar,
|
||||
#language,
|
||||
#upower,
|
||||
#mpris,
|
||||
#mpd {
|
||||
padding: 0 0.8em;
|
||||
border-radius: 12px;
|
||||
color: @base05;
|
||||
background-color: @base00;
|
||||
}
|
||||
|
||||
/* #upower, */
|
||||
#battery,
|
||||
#backlight,
|
||||
#custom-kbd-backlight,
|
||||
#backlight-slider,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#network,
|
||||
#wireplumber,
|
||||
#power-profiles-daemon {
|
||||
padding-right: 0.8em;
|
||||
}
|
||||
|
||||
#language {
|
||||
padding-right: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
#workspaces {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
#taskbar,
|
||||
#workspaces {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
#taskbar button,
|
||||
#workspaces button {
|
||||
padding: 0 0.2em;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: @base0D;
|
||||
}
|
||||
#taskbar button:hover {
|
||||
box-shadow: transparent;
|
||||
}
|
||||
#taskbar.empty,
|
||||
window#empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: @base09;
|
||||
color: @base00;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: @base00;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: @base00;
|
||||
color: @base0E;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: @base00;
|
||||
color: @base08;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
padding: 0 0.9em;
|
||||
}
|
||||
|
||||
|
||||
#idle_inhibitor:hover {
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: @base05;
|
||||
color: @base00;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated:hover {
|
||||
box-shadow: inset 0 -3px @base00;
|
||||
}
|
||||
|
||||
#laptop,
|
||||
#privacy {
|
||||
padding: 0em;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: @base00;
|
||||
color: @base0C;
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: @base00;
|
||||
color: @base0E;
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: @base;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm -e";
|
||||
fields = "filename,name,generic,keywords,categories,exec";
|
||||
match-mode = "fuzzy";
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
};
|
||||
border = {
|
||||
width = 4;
|
||||
radius = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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 = "12x12";
|
||||
origin = "top-right";
|
||||
timeout = 15;
|
||||
frame_width = 4;
|
||||
notification_limit = 5;
|
||||
};
|
||||
rule-telegram = {
|
||||
"desktop_entry" = "org.telegram.desktop";
|
||||
"urgency" = "normal";
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
#grace = 300;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
|
||||
background = [
|
||||
{
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = [
|
||||
{
|
||||
size = "274, 50";
|
||||
rounding = 12;
|
||||
outline_thickness = 4;
|
||||
position = "0, -30";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
font_color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
inner_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
check_color = "rgb(${config.lib.stylix.colors.base0A})";
|
||||
fail_color = "rgb(${config.lib.stylix.colors.base08})";
|
||||
placeholder_text = "locked...";
|
||||
fail_text = "wrong";
|
||||
#placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
|
||||
shadow_passes = 0;
|
||||
}
|
||||
];
|
||||
shape = [
|
||||
{
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "150, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
position = "-62, 30";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
{
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "120, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
position = "77, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "$LAYOUT"; #"cmd[update:1000] ${pkgs.uutils-coreutils-noprefix}/bin/echo $(${pkgs.uutils-coreutils-noprefix}/bin/date +%H:%M:%S)";
|
||||
#text = "$TIME
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
position = "-62, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "cmd[update:1000] ${pkgs.uutils-coreutils-noprefix}/bin/echo $(${pkgs.uutils-coreutils-noprefix}/bin/date +%H:%M:%S)";
|
||||
#text = "$TIME
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
position = "77, 28";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
services.wlsunset = {
|
||||
enable = true;
|
||||
latitude = "49.6";
|
||||
longitude = "36.1";
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 3000;
|
||||
};
|
||||
systemdTarget = "graphical-session.target";
|
||||
};
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
automount = false;
|
||||
notify = true;
|
||||
tray = "auto";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
dconf
|
||||
glib
|
||||
grimblast
|
||||
grim
|
||||
slurp
|
||||
libnotify
|
||||
playerctl
|
||||
wdisplays
|
||||
pwvucontrol
|
||||
wl-clipboard-rs
|
||||
polkit_gnome
|
||||
papirus-icon-theme
|
||||
];
|
||||
|
||||
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";
|
||||
};
|
||||
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 = ["hyprland.service"];
|
||||
};
|
||||
};
|
||||
waybar = {
|
||||
# Unit = {
|
||||
# Description = "Swaync notification daemon";
|
||||
# };
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["hyprland.service"];
|
||||
};
|
||||
};
|
||||
copyq = {
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["hyprland.service"];
|
||||
};
|
||||
Service = {
|
||||
Environment = lib.mkForce "QT_QPA_PLATFORM=wayland";
|
||||
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 = ["hyprland.service"];
|
||||
};
|
||||
};
|
||||
gnome-polkit-agent = {
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["hyprland.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 = ["hyprland.service"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
922
hosts/sarien/users/user/desktop/sway/main.nix
Normal file
922
hosts/sarien/users/user/desktop/sway/main.nix
Normal file
@ -0,0 +1,922 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
# pkgs-51b85c,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# imports = [./walker.nix];
|
||||
stylix.targets.sway.enable = true;
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
# xwayland.enable = false;
|
||||
wrapperFeatures.gtk = true;
|
||||
config = let
|
||||
modifier = "Mod4";
|
||||
terminal = "wezterm";
|
||||
launcher = "fuzzel";
|
||||
clipboard = "copyq toggle";
|
||||
left = "n";
|
||||
down = "e";
|
||||
up = "u";
|
||||
right = "i";
|
||||
in {
|
||||
bars = [
|
||||
{
|
||||
command = "${pkgs.waybar}/bin/waybar";
|
||||
}
|
||||
];
|
||||
|
||||
modifier = "${modifier}";
|
||||
terminal = "${terminal}";
|
||||
menu = "${launcher}";
|
||||
|
||||
left = "${left}";
|
||||
down = "${down}";
|
||||
up = "${up}";
|
||||
right = "${right}";
|
||||
|
||||
workspaceLayout = "tabbed";
|
||||
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "us,ua";
|
||||
repeat_delay = "200";
|
||||
repeat_rate = "50";
|
||||
accel_profile = "flat";
|
||||
};
|
||||
"type:touchpad" = {
|
||||
tap = "enabled";
|
||||
scroll_method = "two_finger";
|
||||
};
|
||||
};
|
||||
output = {
|
||||
"Samsung Electric Company S24R65x H4TMA03291" = {
|
||||
mode = "1920x1080@74.973Hz";
|
||||
pos = "0 0";
|
||||
adaptive_sync = "on";
|
||||
allow_tearing = "yes";
|
||||
max_render_time = "off";
|
||||
};
|
||||
"AOC 27V2G5 0x0000026C" = {
|
||||
pos = "1920 0";
|
||||
};
|
||||
};
|
||||
keybindings = lib.mkForce {
|
||||
"${modifier}+Ctrl+q" = "kill";
|
||||
"${modifier}+Ctrl+Escape" = "exit";
|
||||
"${modifier}+Ctrl+r" = "reload";
|
||||
|
||||
"${modifier}+Ctrl+${left}" = "move left";
|
||||
"${modifier}+Ctrl+${down}" = "move down";
|
||||
"${modifier}+Ctrl+${up}" = "move up";
|
||||
"${modifier}+Ctrl+${right}" = "move right";
|
||||
"${modifier}+Ctrl+left" = "move left";
|
||||
"${modifier}+Ctrl+down" = "move down";
|
||||
"${modifier}+Ctrl+up" = "move up";
|
||||
"${modifier}+Ctrl+right" = "move right";
|
||||
"${modifier}+Ctrl+1" = "move window workspace 1";
|
||||
"${modifier}+Ctrl+2" = "move window workspace 2";
|
||||
"${modifier}+Ctrl+3" = "move window workspace 3";
|
||||
"${modifier}+Ctrl+4" = "move window workspace 4";
|
||||
"${modifier}+Ctrl+5" = "move window workspace 5";
|
||||
"${modifier}+Ctrl+6" = "move window workspace 6";
|
||||
"${modifier}+Ctrl+7" = "move window workspace 7";
|
||||
"${modifier}+Ctrl+8" = "move window workspace 8";
|
||||
"${modifier}+Ctrl+9" = "move window workspace 9";
|
||||
"${modifier}+Ctrl+0" = "move window workspace 10";
|
||||
"${modifier}+Ctrl+l" = "move window workspace prev";
|
||||
"${modifier}+Ctrl+y" = "move window workspace next";
|
||||
|
||||
"${modifier}+Shift+${left}" = "focus output left";
|
||||
"${modifier}+Shift+${down}" = "focus output down";
|
||||
"${modifier}+Shift+${up}" = "focus output up";
|
||||
"${modifier}+Shift+${right}" = "focus output right";
|
||||
"${modifier}+Shift+left" = "focus output left";
|
||||
"${modifier}+Shift+down" = "focus output down";
|
||||
"${modifier}+Shift+up" = "focus output up";
|
||||
"${modifier}+Shift+right" = "focus output right";
|
||||
|
||||
"${modifier}+Return" = "exec ${terminal}";
|
||||
"${modifier}+Shift+v" = "exec ${clipboard}";
|
||||
"${modifier}+Space" = "exec ${launcher}";
|
||||
|
||||
"${modifier}+c" = "splith";
|
||||
"${modifier}+d" = "splitv";
|
||||
"${modifier}+s" = "layout toggle split";
|
||||
"${modifier}+t" = "layout tabbed";
|
||||
"${modifier}+h" = "focus mode_toggle";
|
||||
"${modifier}+f" = "floating toggle";
|
||||
"${modifier}+m" = "fullscreen toggle";
|
||||
"${modifier}+g" = "sticky toggle";
|
||||
"${modifier}+b" = "bar mode toggle";
|
||||
|
||||
"--locked ${modifier}+Escape" = "exec swaymsg input \"*\" xkb_switch_layout next";
|
||||
"Print" = ''exec ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp -o -r -c '#ff0000ff')" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ~/pics/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png'';
|
||||
|
||||
"${modifier}+1" = "workspace 1";
|
||||
"${modifier}+2" = "workspace 2";
|
||||
"${modifier}+3" = "workspace 3";
|
||||
"${modifier}+4" = "workspace 4";
|
||||
"${modifier}+5" = "workspace 5";
|
||||
"${modifier}+6" = "workspace 6";
|
||||
"${modifier}+7" = "workspace 7";
|
||||
"${modifier}+8" = "workspace 8";
|
||||
"${modifier}+9" = "workspace 9";
|
||||
"${modifier}+0" = "workspace 10";
|
||||
"${modifier}+l" = "workspace prev";
|
||||
"${modifier}+y" = "workspace next";
|
||||
|
||||
"${modifier}+${left}" = "focus left";
|
||||
"${modifier}+${down}" = "focus down";
|
||||
"${modifier}+${up}" = "focus up";
|
||||
"${modifier}+${right}" = "focus right";
|
||||
"${modifier}+left" = "focus left";
|
||||
"${modifier}+down" = "focus down";
|
||||
"${modifier}+up" = "focus up";
|
||||
"${modifier}+right" = "focus right";
|
||||
};
|
||||
window = {
|
||||
border = 1;
|
||||
# hideEdgeBorders = "smart";
|
||||
};
|
||||
gaps = {
|
||||
# top = 6;
|
||||
# bottom = 6;
|
||||
# left = 6;
|
||||
# right = 6;
|
||||
outer = 6;
|
||||
inner = 3;
|
||||
};
|
||||
floating.criteria = [
|
||||
{
|
||||
app_id = "com.github.hluk.copyq";
|
||||
}
|
||||
{
|
||||
app_id = "com.saivert.pwvucontrol";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
programs.swaylock.enable = true;
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
systemdTarget = "sway-session.target";
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 300;
|
||||
command = "${pkgs.swaylock}/bin/swaylock -fF";
|
||||
}
|
||||
{
|
||||
timeout = 301;
|
||||
command = "${pkgs.sway}/bin/swaymsg \"output * dpms off\"";
|
||||
resumeCommand = "${pkgs.sway}/bin/swaymsg \"output * dpms on\"";
|
||||
}
|
||||
];
|
||||
events = [
|
||||
{
|
||||
event = "lock";
|
||||
command = "${pkgs.swaylock}/bin/swaylock -fF &&";
|
||||
}
|
||||
{
|
||||
event = "unlock";
|
||||
command = "${pkgs.procps}/bin/pkill -SIGUSR1 swaylock";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "${pkgs.swaylock}/bin/swaylock -fF & ${pkgs.playerctl}/bin/playerctl pause";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.playerctld.enable = true;
|
||||
services.gnome-keyring = {
|
||||
enable = true;
|
||||
components = ["secrets" "ssh"];
|
||||
};
|
||||
services.ssh-agent.enable = true;
|
||||
programs.keychain = {
|
||||
enable = true;
|
||||
keys = ["id_ed25519"];
|
||||
enableNushellIntegration = true;
|
||||
extraFlags = [
|
||||
"--quiet"
|
||||
"--noask"
|
||||
];
|
||||
};
|
||||
services = {
|
||||
network-manager-applet.enable = true;
|
||||
blueman-applet.enable = true;
|
||||
copyq.enable = true;
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
stylix.targets.waybar.enable = false;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
#package = pkgs.waybar-0.11.0";
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
# target = "graphical-session.target";
|
||||
# };
|
||||
settings = {
|
||||
bar-0 = {
|
||||
ipc = true;
|
||||
id = "bar-0";
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
height = 32;
|
||||
spacing = 6;
|
||||
# margin-top = 8;
|
||||
margin-left = 8;
|
||||
margin-right = 8;
|
||||
margin-bottom = 8;
|
||||
reload_style_on_change = true;
|
||||
modules-left = [
|
||||
#"custom/notification"
|
||||
"group/sway"
|
||||
"wlr/taskbar"
|
||||
];
|
||||
modules-center = ["clock"];
|
||||
modules-right = [
|
||||
"privacy"
|
||||
"tray"
|
||||
"wireplumber"
|
||||
# "group/laptop"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
"sway/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "I";
|
||||
"2" = "II";
|
||||
"3" = "III";
|
||||
"4" = "IV";
|
||||
"5" = "V";
|
||||
"6" = "VI";
|
||||
"7" = "VII";
|
||||
"8" = "IIX";
|
||||
"9" = "IX";
|
||||
"10" = "X";
|
||||
#focused = "";
|
||||
#active = "";
|
||||
#default = "";
|
||||
};
|
||||
};
|
||||
"sway/language" = {
|
||||
format = "{flag}";
|
||||
tooltip-format = "{long}";
|
||||
on-click = "swaymsg input type:keyboard xkb_switch_layout next";
|
||||
};
|
||||
"group/sway" = {
|
||||
orientation = "inherit";
|
||||
modules = [
|
||||
"sway/language"
|
||||
"sway/workspaces"
|
||||
];
|
||||
};
|
||||
"group/laptop" = {
|
||||
orientation = "inherit";
|
||||
drawer = {
|
||||
transition-duration = 500;
|
||||
children-class = "laptop";
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"battery"
|
||||
"power-profiles-daemon"
|
||||
"custom/separator"
|
||||
"custom/kbd-backlight"
|
||||
"custom/separator"
|
||||
"custom/backlight"
|
||||
"custom/separator"
|
||||
];
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
"tray" = {
|
||||
icon-size = 24;
|
||||
spacing = 3;
|
||||
};
|
||||
"clock" = {
|
||||
interval = 1;
|
||||
format = "{:%H:%M:%S}";
|
||||
tooltip-format = "{:%d.%m.%Y}";
|
||||
};
|
||||
# "custom/backlight" = {
|
||||
# format = "{}% {icon}";
|
||||
# interval = 1;
|
||||
# format-icons = [""];
|
||||
# };
|
||||
# "custom/kbd-backlight" = {
|
||||
# exec = "brightnessctl s 5%+";
|
||||
# interval = 1;
|
||||
# format = "{}% {icon}";
|
||||
# format-icons = [""];
|
||||
# on-scroll-up = "~/.local/bin/keyboard-brightness.nu increase";
|
||||
# on-scroll-down = "~/.local/bin/keyboard-brightness.nu decrease";
|
||||
# };
|
||||
# battery = {
|
||||
# states = {
|
||||
# good = 95;
|
||||
# warning = 30;
|
||||
# critical = 15;
|
||||
# };
|
||||
# format = "{capacity}% {icon}";
|
||||
# format-full = "{capacity}% ";
|
||||
# format-charging = "{capacity}% ";
|
||||
# format-plugged = "{capacity}% ";
|
||||
# format-alt = "{icon} {time}";
|
||||
# format-icons = ["" "" "" "" "" "" "" "" "" ""];
|
||||
# };
|
||||
"upower" = {
|
||||
icon-size = 16;
|
||||
format = "{percentage}";
|
||||
hide-if-empty = true;
|
||||
tooltip = true;
|
||||
tooltip-spacing = 20;
|
||||
};
|
||||
# "power-profiles-daemon" = {
|
||||
# format = "{icon}";
|
||||
# tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||
# tooltip = true;
|
||||
# format-icons = {
|
||||
# default = "";
|
||||
# performance = "";
|
||||
# balanced = "";
|
||||
# power-saver = "";
|
||||
# };
|
||||
# };
|
||||
"wireplumber" = {
|
||||
scroll-step = 3;
|
||||
format = "{volume}% {icon}";
|
||||
format-muted = "";
|
||||
format-icons = ["" "" ""];
|
||||
on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "";
|
||||
none = "";
|
||||
dnd-notification = "";
|
||||
dnd-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
"privacy" = {
|
||||
# icon-spacing = 4;
|
||||
icon-size = 16;
|
||||
transition-duration = 250;
|
||||
screenshare = {
|
||||
type = "screenshare";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
audio-in = {
|
||||
type = "audio-in";
|
||||
tooltip = true;
|
||||
tooltip-icon-size = 24;
|
||||
};
|
||||
};
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
icon-size = 24;
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
tooltip-format = "{title}";
|
||||
on-click = "activate";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
||||
* {
|
||||
font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome;
|
||||
font-weight: 500;
|
||||
font-size: 100%;
|
||||
/* margin: 0px 2px 2px 2px; */
|
||||
}
|
||||
window#waybar {
|
||||
background-color: @base00;
|
||||
border: 1px solid @base0D;
|
||||
/* border-top: 3px solid @overlay0; */
|
||||
color: @base05;
|
||||
/* padding: 0px 2px 0px 0px; */
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
.modules-left,
|
||||
.modules-center,
|
||||
.modules-right {
|
||||
padding: 1px;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
tooltip {
|
||||
background: @base01;
|
||||
border: 1px solid @base0E;
|
||||
}
|
||||
tooltip label {
|
||||
color: @base05;
|
||||
}
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#custom-backlight,
|
||||
#custom-kbd-backlight,
|
||||
#workspaces,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#laptop,
|
||||
#tray,
|
||||
#mode,
|
||||
#privacy
|
||||
#privacy-item,
|
||||
#idle_inhibitor,
|
||||
#backlight-slider,
|
||||
#custom-notification,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#taskbar,
|
||||
#language,
|
||||
#upower,
|
||||
#mpris,
|
||||
#mpd {
|
||||
padding: 0 0.5em;
|
||||
color: @base05;
|
||||
background-color: @base00;
|
||||
}
|
||||
|
||||
/* #upower,
|
||||
#battery,
|
||||
#backlight,
|
||||
#custom-kbd-backlight,
|
||||
#backlight-slider,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#network,
|
||||
#wireplumber,
|
||||
#power-profiles-daemon {
|
||||
padding-right: 0.5em;
|
||||
} */
|
||||
|
||||
#taskbar button,
|
||||
#workspaces button {
|
||||
padding: 0 0.2em;
|
||||
}
|
||||
#workspaces button.focused,
|
||||
#workspaces button.active {
|
||||
color: @base0D;
|
||||
}
|
||||
#taskbar button:hover {
|
||||
box-shadow: transparent;
|
||||
}
|
||||
#taskbar.empty,
|
||||
window#empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: @base09;
|
||||
color: @base00;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: @base00;
|
||||
color: @base0D;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: @base00;
|
||||
color: @base0B;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: @base00;
|
||||
color: @base0A;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: @base08;
|
||||
}
|
||||
#idle_inhibitor:hover {
|
||||
box-shadow: inset 0 -3px @base05;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: @base05;
|
||||
color: @base00;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated:hover {
|
||||
box-shadow: inset 0 -3px @base00;
|
||||
}
|
||||
|
||||
#laptop,
|
||||
#privacy {
|
||||
padding: 0em;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: @base00;
|
||||
color: @base0C;
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: @base00;
|
||||
color: @base0E;
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: @base;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = {
|
||||
window = {
|
||||
height = 360;
|
||||
border = 3;
|
||||
};
|
||||
|
||||
inputbar = {
|
||||
children = ["prompt" "entry"];
|
||||
border-radius = 5;
|
||||
padding = 2;
|
||||
};
|
||||
|
||||
prompt = {
|
||||
padding = 6;
|
||||
border-radius = 3;
|
||||
margin = "20px 0px 0px 20px";
|
||||
};
|
||||
|
||||
textbox-prompt-colon = {
|
||||
expand = false;
|
||||
str = "~>";
|
||||
};
|
||||
|
||||
entry = {
|
||||
padding = 6;
|
||||
margin = "20px 0px 0px 10px";
|
||||
};
|
||||
|
||||
listview = {
|
||||
border = "0px 0px 0px";
|
||||
padding = "6px 0px 0px";
|
||||
margin = "10px 0px 0px 20px";
|
||||
columns = 2;
|
||||
lines = 5;
|
||||
};
|
||||
|
||||
element = {
|
||||
padding = 5;
|
||||
};
|
||||
|
||||
element-icon = {
|
||||
size = 25;
|
||||
};
|
||||
|
||||
mode-switcher = {
|
||||
spacing = 0;
|
||||
};
|
||||
|
||||
button = {
|
||||
padding = 10;
|
||||
vertical-align = "0.5";
|
||||
horizontal-align = "0.5";
|
||||
};
|
||||
|
||||
message = {
|
||||
margin = 2;
|
||||
padding = 2;
|
||||
border-radius = 5;
|
||||
};
|
||||
|
||||
textbox = {
|
||||
padding = 6;
|
||||
margin = "20 0 0 20";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
show-icons = true;
|
||||
modi = "run,drun,window";
|
||||
kb-primary-paste = "Control+V,Shift+Insert";
|
||||
kb-secondary-paste = "Control+v,Insert";
|
||||
};
|
||||
};
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "wezterm -e";
|
||||
fields = "filename,name,generic,keywords,categories,exec";
|
||||
dpi-aware = false;
|
||||
horizontal-pad = 8;
|
||||
show-actions = true;
|
||||
match-mode = "fuzzy";
|
||||
icon-theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
};
|
||||
border = {
|
||||
width = 2;
|
||||
radius = 4;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
width = 300;
|
||||
height = 300;
|
||||
icon_theme = "${config.dconf.settings."org/gnome/desktop/interface".icon-theme}";
|
||||
corner_radius = 4;
|
||||
#corners = "top-right,bottom-left";
|
||||
offset = "16x16";
|
||||
origin = "bottom-right";
|
||||
timeout = 15;
|
||||
frame_width = 2;
|
||||
notification_limit = 5;
|
||||
};
|
||||
rule-telegram = {
|
||||
"desktop_entry" = "org.telegram.desktop";
|
||||
"urgency" = "normal";
|
||||
};
|
||||
};
|
||||
};
|
||||
services.wlsunset = {
|
||||
enable = true;
|
||||
latitude = "49.6";
|
||||
longitude = "36.1";
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 3000;
|
||||
};
|
||||
systemdTarget = "graphical-session.target";
|
||||
};
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
automount = false;
|
||||
notify = true;
|
||||
tray = "auto";
|
||||
};
|
||||
# services.flameshot = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# General = {
|
||||
# buttons = "@Variant(000x7f000vQList<int>0000x130000000x1000x2000x3000x4000x5000x6000x12000xf000x13000b000 000x10000000v000x17000xe000f000x11)";
|
||||
# filenamePattern = "screenshot-%F_%H-%M-%S";
|
||||
# saveAsFileExtension = "png";
|
||||
# savePath = "/home/user/pics/screenshots";
|
||||
# uiColor = "#${config.lib.stylix.colors.base0D}";
|
||||
# showStartupLaunchMessage = false;
|
||||
# showDesktopNotification = false;
|
||||
# showHelp = false;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
home.packages = with pkgs; [
|
||||
nautilus
|
||||
helvum
|
||||
loupe
|
||||
evince
|
||||
celluloid
|
||||
mission-center
|
||||
dconf
|
||||
glib
|
||||
libnotify
|
||||
playerctl
|
||||
wdisplays
|
||||
pwvucontrol
|
||||
wl-clipboard-rs
|
||||
polkit_gnome
|
||||
libqalculate
|
||||
#papirus-icon-theme
|
||||
];
|
||||
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.mime.enable = true;
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = let
|
||||
file_manager = ["org.gnome.Nautilus.desktop"];
|
||||
web_browser = ["io.github.zen_browser.zen.desktop"];
|
||||
image_viewer = ["org.gnome.Loupe.desktop"];
|
||||
video_player = ["io.github.celluloid_player.Celluloid.desktop"];
|
||||
pdf_reader = ["org.gnome.Evince.desktop"];
|
||||
in {
|
||||
"inode/directory" = file_manager;
|
||||
"video/x-matroska" = video_player;
|
||||
"video/mp4" = video_player;
|
||||
"video/mpeg" = video_player;
|
||||
"video/x-mpeg" = video_player;
|
||||
"image/png" = image_viewer;
|
||||
"image/jpeg" = image_viewer;
|
||||
"application/pdf" = pdf_reader;
|
||||
"text/html" = web_browser;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.settings.Manager.DefaultEnvironment = {
|
||||
#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 = ["sway-session.target"];
|
||||
};
|
||||
};
|
||||
# waybar = {
|
||||
# Unit = {
|
||||
# Description = "Swaync notification daemon";
|
||||
# # };
|
||||
# Unit = {
|
||||
# PartOf = ["graphical-session.target"];
|
||||
# After = ["graphical-session.target"];
|
||||
# Requisite = ["graphical-session.target"];
|
||||
# };
|
||||
# Install = {
|
||||
# WantedBy = ["sway-session.target"];
|
||||
# };
|
||||
# };
|
||||
copyq = {
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Environment = lib.mkForce "QT_QPA_PLATFORM=wayland";
|
||||
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 = ["sway-session.target"];
|
||||
};
|
||||
};
|
||||
gnome-polkit-agent = {
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
# walker = {
|
||||
# Unit = {
|
||||
# PartOf = ["graphical-session.target"];
|
||||
# After = ["graphical-session.target"];
|
||||
# Requisite = ["graphical-session.target"];
|
||||
# };
|
||||
# Install = {
|
||||
# WantedBy = ["sway-session.target"];
|
||||
# };
|
||||
# Service = {
|
||||
# Type = "simple";
|
||||
# ExecStart = "${pkgs.walker}/bin/walker --gapplication-service";
|
||||
# Restart = "on-failure";
|
||||
# RestartSec = 1;
|
||||
# TimeoutStopSec = 10;
|
||||
# };
|
||||
# };
|
||||
wlsunset = {
|
||||
Unit = {
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
Requisite = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
};
|
||||
};
|
||||
# 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;
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
75
hosts/sarien/users/user/desktop/theming/atelier-estuary.nix
Normal file
75
hosts/sarien/users/user/desktop/theming/atelier-estuary.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["Iosevka"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-estuary.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Tinted";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-ne3v2r.jpg;
|
||||
#opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["Iosevka"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml";
|
||||
polarity = "light";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Tinted";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-m37gy8.jpg;
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Light";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-7p3vy9.jpg;
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
76
hosts/sarien/users/user/desktop/theming/ayu-dark.nix
Normal file
76
hosts/sarien/users/user/desktop/theming/ayu-dark.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-exj8pw.jpg;
|
||||
# imageScalingMode = "center";
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# aotic base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
# };
|
||||
# };
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
# };
|
||||
# dconf.settings = {
|
||||
# "org/gnome/desktop/interface" = {
|
||||
# icon-theme = "${config.gtk.iconTheme.name}";
|
||||
# };
|
||||
# };
|
||||
}
|
76
hosts/sarien/users/user/desktop/theming/ayu-mirage.nix
Normal file
76
hosts/sarien/users/user/desktop/theming/ayu-mirage.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-mirage.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-wexo3x.jpg;
|
||||
# imageScalingMode = "center";
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# aotic base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
# };
|
||||
# };
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
# };
|
||||
# dconf.settings = {
|
||||
# "org/gnome/desktop/interface" = {
|
||||
# icon-theme = "${config.gtk.iconTheme.name}";
|
||||
# };
|
||||
# };
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["FantasqueSansMono"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.catppuccin-cursors.macchiatoBlue;
|
||||
name = "catppuccin-macchiato-blue-cursors";
|
||||
size = 24;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-2ke6lg.jpg;
|
||||
#opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "macchiato";
|
||||
accent = "blue";
|
||||
};
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
70
hosts/sarien/users/user/desktop/theming/dracula.nix
Normal file
70
hosts/sarien/users/user/desktop/theming/dracula.nix
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["Iosevka"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-47m35e.png;
|
||||
opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
71
hosts/sarien/users/user/desktop/theming/gruvbox.nix
Normal file
71
hosts/sarien/users/user/desktop/theming/gruvbox.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
gruvbox-plus-icons
|
||||
(nerdfonts.override {fonts = ["FantasqueSansMono" "Ubuntu" "UbuntuSans"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.capitaine-cursors-themed;
|
||||
name = "Capitaine Cursors (Gruvbox)";
|
||||
size = 24;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-qze297.jpg;
|
||||
opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Gruvbox-Plus-Dark";
|
||||
package = pkgs.gruvbox-plus-icons;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "Gruvbox-Plus-Dark";
|
||||
};
|
||||
};
|
||||
}
|
75
hosts/sarien/users/user/desktop/theming/heetch.nix
Normal file
75
hosts/sarien/users/user/desktop/theming/heetch.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["FantasqueSansMono"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.google-cursor;
|
||||
name = "GoogleDot-Red";
|
||||
size = 24;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-9mdqgd.jpg;
|
||||
opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
55
hosts/sarien/users/user/desktop/theming/heetchduck.nix
Normal file
55
hosts/sarien/users/user/desktop/theming/heetchduck.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../../../../../../wallpapers/wallhaven-o5p5ql.jpg;
|
||||
# image = null;
|
||||
# imageScalingMode = "center";
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
base08 = "e33400";
|
||||
base09 = "e39400";
|
||||
base0A = "f2ce00";
|
||||
base0B = "5ccc96";
|
||||
base0C = "00a3cc";
|
||||
base0D = "7a5ccc";
|
||||
base0E = "b3a1e6";
|
||||
base0F = "ce6f8f";
|
||||
};
|
||||
}
|
76
hosts/sarien/users/user/desktop/theming/outrun-dark.nix
Normal file
76
hosts/sarien/users/user/desktop/theming/outrun-dark.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
# config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/outrun-dark.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-o5p5ql.jpg;
|
||||
# imageScalingMode = "center";
|
||||
opacity.terminal = 0.9;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
# stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# aotic base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
# };
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
# };
|
||||
# };
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
# };
|
||||
# dconf.settings = {
|
||||
# "org/gnome/desktop/interface" = {
|
||||
# icon-theme = "${config.gtk.iconTheme.name}";
|
||||
# };
|
||||
# };
|
||||
}
|
74
hosts/sarien/users/user/desktop/theming/rose-pine-moon.nix
Normal file
74
hosts/sarien/users/user/desktop/theming/rose-pine-moon.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-moon.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
# package = pkgs.bibata-cursors-translucent;
|
||||
package = pkgs.rose-pine-cursor;
|
||||
name = "BreezeX-RosePineDawn-Linux";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-47m35e.png;
|
||||
opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 13;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.iosevka;
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
name = "rose-pine-moon";
|
||||
package = pkgs.rose-pine-icon-theme;
|
||||
};
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
70
hosts/sarien/users/user/desktop/theming/selenized-black.nix
Normal file
70
hosts/sarien/users/user/desktop/theming/selenized-black.nix
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["Iosevka"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/selenized-black.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors-translucent;
|
||||
name = "Bibata_Ghost";
|
||||
size = 32;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-vml6j5.png;
|
||||
opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
||||
name = "Iosevka Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
78
hosts/sarien/users/user/desktop/theming/solarized.nix
Normal file
78
hosts/sarien/users/user/desktop/theming/solarized.nix
Normal file
@ -0,0 +1,78 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
#papirus-icon-theme
|
||||
(nerdfonts.override {fonts = ["FantasqueSansMono"];})
|
||||
];
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";
|
||||
polarity = "dark";
|
||||
cursor = {
|
||||
package = pkgs.catppuccin-cursors.macchiatoBlue;
|
||||
name = "catppuccin-macchiato-blue-cursors";
|
||||
size = 24;
|
||||
};
|
||||
image = ../wallpapers/wallhaven-2ke6lg.jpg;
|
||||
#opacity.terminal = 0.8;
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 14;
|
||||
popups = 13;
|
||||
terminal = 15;
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Propo";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerdfonts.override {fonts = ["FantasqueSansMono"];};
|
||||
name = "FantasqueSansM Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
stylix.override = {
|
||||
# base08 = "dc322f";
|
||||
# base09 = "cb4b16";
|
||||
# base0A = "b58900";
|
||||
# base0D = "859900";
|
||||
# base0C = "2aa198";
|
||||
# base0B = "268bd2";
|
||||
# base0E = "6c71c4";
|
||||
# base0F = "d33682";
|
||||
#base0B = "008dd1";
|
||||
#base0D = "7f8b00";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "macchiato";
|
||||
accent = "blue";
|
||||
};
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
#style.name = "gtk2";
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user