Added notification daemon SwayNC
This commit is contained in:
parent
97e1c57488
commit
508a66f1cf
6 changed files with 439 additions and 2865 deletions
|
@ -20,6 +20,8 @@
|
|||
"$mod SHIFT, F, fullscreen"
|
||||
|
||||
"$mod, code:65, exec, rofi -show run"
|
||||
"$mod SHIFT, S, exec, grim -g \"$(slurp)\" - | wl-copy"
|
||||
"$mod SHIFT, P, exec, swaync-client -t"
|
||||
|
||||
"$mod, V, toggleFloating"
|
||||
|
||||
|
|
|
@ -58,13 +58,14 @@
|
|||
|
||||
filetree.nvimTree = {
|
||||
enable = true;
|
||||
openOnSetup = false;
|
||||
mappings = {
|
||||
toggle = "<leader>e";
|
||||
findFile = "<leader>ef";
|
||||
};
|
||||
setupOpts = {
|
||||
actions.open_file.eject = true;
|
||||
tab.sync.close = true;
|
||||
actions.open_file.quit_on_open = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
371
commons/programs/swaync.nix
Normal file
371
commons/programs/swaync.nix
Normal file
|
@ -0,0 +1,371 @@
|
|||
{ ... } : {
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
|
||||
control-center-positionX = "none";
|
||||
control-center-positionY = "none";
|
||||
control-center-margin-top = 20;
|
||||
control-center-margin-bottom = 20;
|
||||
control-center-margin-right = 10;
|
||||
control-center-margin-left = 0;
|
||||
control-center-width = 500;
|
||||
control-center-height = 2;
|
||||
fit-to-screen = true;
|
||||
|
||||
layer-shell = true;
|
||||
layer = "overlay";
|
||||
control-center-layer = "overlay";
|
||||
|
||||
cssPriority = "user";
|
||||
|
||||
notification-inline-replies = true;
|
||||
notification-icon-size = 40;
|
||||
notification-body-image-height = 100;
|
||||
notification-body-image-width = 200;
|
||||
|
||||
timeout = 10;
|
||||
timeout-low = 5;
|
||||
timeout-critical = 0;
|
||||
|
||||
notification-window-width = 300;
|
||||
keyboard-shortcuts = true;
|
||||
image-visibility = "when-available";
|
||||
transition-time = 100;
|
||||
hide-on-clear = true;
|
||||
hide-on-action = false;
|
||||
|
||||
widgets = [
|
||||
"title"
|
||||
"mpris"
|
||||
"notifications"
|
||||
"volume"
|
||||
];
|
||||
|
||||
widget-config = {
|
||||
title = {
|
||||
text = "Notifications";
|
||||
button-text = " Clear";
|
||||
clear-all-button = true;
|
||||
};
|
||||
mpris = {
|
||||
image-size = 96;
|
||||
image-radius = 12;
|
||||
blur = true;
|
||||
};
|
||||
volume = {
|
||||
label = " ";
|
||||
show-per-app = true;
|
||||
show-per-app-icon = true;
|
||||
show-per-app-label = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
font-size: 14px;
|
||||
font-family: "Noto Sans";
|
||||
transition: 100ms;
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification,
|
||||
.control-center .notification-row .notification-background .notification .notification-content,
|
||||
.floating-notifications .notification-row .notification-background .notification,
|
||||
.floating-notifications.background .notification-background .notification .notification-content {
|
||||
margin-bottom: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification {
|
||||
margin-top: 0.150rem;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification box,
|
||||
.control-center .notification-row .notification-background .notification widget,
|
||||
.control-center .notification-row .notification-background .notification .notification-content,
|
||||
.floating-notifications .notification-row .notification-background .notification box,
|
||||
.floating-notifications .notification-row .notification-background .notification widget,
|
||||
.floating-notifications.background .notification-background .notification .notification-content {
|
||||
border: unset;
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
|
||||
}
|
||||
|
||||
.floating-notifications.background .notification-background .notification .notification-content,
|
||||
.control-center .notification-background .notification .notification-content {
|
||||
/* border-top: 1px solid rgba(164, 162, 167, 0.15);
|
||||
border-left: 1px solid rgba(164, 162, 167, 0.15);
|
||||
border-right: 1px solid rgba(128, 127, 132, 0.15);
|
||||
border-bottom: 1px solid rgba(128, 127, 132, 0.15);*/
|
||||
background-color: #1D1D22;
|
||||
padding: 0.818rem;
|
||||
padding-right: unset;
|
||||
margin-right: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.low .notification-content label,
|
||||
.control-center .notification-row .notification-background .notification.normal .notification-content label,
|
||||
.floating-notifications.background .notification-background .notification.low .notification-content label,
|
||||
.floating-notifications.background .notification-background .notification.normal .notification-content label {
|
||||
color: #c7c5d0;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification..notification-content image,
|
||||
.control-center .notification-row .notification-background .notification.normal .notification-content image,
|
||||
.floating-notifications.background .notification-background .notification.low .notification-content image,
|
||||
.floating-notifications.background .notification-background .notification.normal .notification-content image {
|
||||
background-color: unset;
|
||||
color: #e2e0f9;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.low .notification-content .body,
|
||||
.control-center .notification-row .notification-background .notification.normal .notification-content .body,
|
||||
.floating-notifications.background .notification-background .notification.low .notification-content .body,
|
||||
.floating-notifications.background .notification-background .notification.normal .notification-content .body {
|
||||
color: #92919a;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.critical .notification-content,
|
||||
.floating-notifications.background .notification-background .notification.critical .notification-content {
|
||||
background-color: #ffb4a9;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.critical .notification-content image,
|
||||
.floating-notifications.background .notification-background .notification.critical .notification-content image{
|
||||
background-color: unset;
|
||||
color: #ffb4a9;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification.critical .notification-content label,
|
||||
.floating-notifications.background .notification-background .notification.critical .notification-content label {
|
||||
color: #680003;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .summary,
|
||||
.floating-notifications.background .notification-background .notification .notification-content .summary {
|
||||
font-family: 'Gabarito', 'Lexend', sans-serif;
|
||||
font-size: 0.9909rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .time,
|
||||
.floating-notifications.background .notification-background .notification .notification-content .time {
|
||||
font-family: 'Geist', 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', 'Ubuntu', sans-serif;
|
||||
font-size: 0.8291rem;
|
||||
font-weight: 500;
|
||||
margin-right: 1rem;
|
||||
padding-right: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row .notification-background .notification .notification-content .body,
|
||||
.floating-notifications.background .notification-background .notification .notification-content .body {
|
||||
font-family: 'Noto Sans', sans-serif;
|
||||
font-size: 0.8891rem;
|
||||
font-weight: 400;
|
||||
margin-top: 0.310rem;
|
||||
padding-right: unset;
|
||||
margin-right: unset;
|
||||
}
|
||||
|
||||
.control-center .notification-row .close-button,
|
||||
.floating-notifications.background .close-button {
|
||||
background-color: unset;
|
||||
border-radius: 100%;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
margin-right: 13px;
|
||||
margin-top: 6px;
|
||||
margin-bottom: unset;
|
||||
padding-bottom: unset;
|
||||
min-height: 20px;
|
||||
min-width: 20px;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.control-center .notification-row .close-button:hover,
|
||||
.floating-notifications.background .close-button:hover {
|
||||
background-color: rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
|
||||
.control-center {
|
||||
border-radius: 1.705rem;
|
||||
-gtk-outline-radius: 1.705rem;
|
||||
border-top: 1px solid rgba(164, 162, 167, 0.19);
|
||||
border-left: 1px solid rgba(164, 162, 167, 0.19);
|
||||
border-right: 1px solid rgba(128, 127, 132, 0.145);
|
||||
border-bottom: 1px solid rgba(128, 127, 132, 0.145);
|
||||
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
|
||||
margin: 7px;
|
||||
background-color: #14141B;
|
||||
padding: 1.023rem;
|
||||
}
|
||||
|
||||
.control-center trough {
|
||||
background-color: #45475a;
|
||||
border-radius: 9999px;
|
||||
-gtk-outline-radius: 9999px;
|
||||
min-width: 0.545rem;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.control-center slider {
|
||||
border-radius: 9999px;
|
||||
-gtk-outline-radius: 9999px;
|
||||
min-width: 0.273rem;
|
||||
min-height: 2.045rem;
|
||||
background-color: rgba(199, 197, 208, 0.31);
|
||||
}
|
||||
|
||||
.control-center slider:hover {
|
||||
background-color: rgba(199, 197, 208, 0.448);
|
||||
}
|
||||
|
||||
.control-center slider:active {
|
||||
background-color: #77767e;
|
||||
}
|
||||
|
||||
/* title widget */
|
||||
|
||||
.widget-title {
|
||||
padding: 0.341rem;
|
||||
margin: unset;
|
||||
}
|
||||
|
||||
.widget-title label {
|
||||
font-family: 'Gabarito', 'Lexend', sans-serif;
|
||||
font-size: 1.364rem;
|
||||
color: #e4e1e6;
|
||||
margin-left: 0.941rem;
|
||||
}
|
||||
|
||||
.widget-title button {
|
||||
border: unset;
|
||||
background-color: unset;
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
padding: 0.141rem 0.141rem;
|
||||
margin-right: 0.841rem;
|
||||
}
|
||||
|
||||
.widget-title button label {
|
||||
font-family: 'Gabarito', sans-serif;
|
||||
font-size: 1.0409rem;
|
||||
color: #e4e1e6;
|
||||
margin-right: 0.841rem;
|
||||
}
|
||||
|
||||
.widget-title button:hover {
|
||||
background-color: rgba(128, 128, 128, 0.3);
|
||||
}
|
||||
|
||||
.widget-title button:active {
|
||||
background-color: rgba(128, 128, 128, 0.7);
|
||||
}
|
||||
|
||||
/* Buttons widget */
|
||||
|
||||
.widget-buttons-grid {
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
padding: 0.341rem;
|
||||
background-color: rgba(28, 28, 34, 0.35);
|
||||
padding: unset;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox {
|
||||
padding: unset;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:first-child {
|
||||
margin-left:unset ;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button {
|
||||
border:none;
|
||||
background-color: unset;
|
||||
border-radius: 9999px;
|
||||
min-width: 5.522rem;
|
||||
min-height: 2.927rem;
|
||||
padding: unset;
|
||||
margin: unset;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button label {
|
||||
font-family: "Materials Symbol Rounded";
|
||||
font-size: 1.3027rem;
|
||||
color: #e4e1e6;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
||||
background-color: rgba(128, 128, 128, 0.3);
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:checked {
|
||||
/* OnePlus McClaren edition Orange accent */
|
||||
background-color: #ff9f34;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:checked label {
|
||||
color: #14141B;
|
||||
}
|
||||
|
||||
|
||||
/* Volume widget */
|
||||
|
||||
.widget-volume {
|
||||
background-color: rgba(28, 28, 34, 0.35);
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
}
|
||||
|
||||
.widget-volume trough {
|
||||
/* OnePlus McClaren edition Orange accent */
|
||||
border:unset;
|
||||
background-color: rgba(128, 128, 128, 0.4);
|
||||
}
|
||||
|
||||
|
||||
.widget-volume trough slider {
|
||||
/* OnePlus McClaren edition Orange accent */
|
||||
color:unset;
|
||||
background-color: #ff9f34;
|
||||
border-radius: 100%;
|
||||
min-height: 1.25rem;
|
||||
}
|
||||
|
||||
|
||||
/* Mpris widget */
|
||||
|
||||
.widget-mpris {
|
||||
background-color: rgba(28, 28, 34, 0.35);
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: bold;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
2896
flake.lock
2896
flake.lock
File diff suppressed because it is too large
Load diff
|
@ -7,6 +7,13 @@
|
|||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
|
||||
nix.optimise.automatic = true;
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
@ -80,7 +87,7 @@
|
|||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
@ -103,7 +110,7 @@
|
|||
isNormalUser = true;
|
||||
description = "zuma";
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "docker"];
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
|
@ -114,7 +121,7 @@
|
|||
};
|
||||
|
||||
# Enable automatic login for the user.
|
||||
services.xserver.displayManager.autoLogin = {
|
||||
services.displayManager.autoLogin = {
|
||||
enable = true;
|
||||
user = "zuma";
|
||||
};
|
||||
|
@ -162,6 +169,8 @@
|
|||
bibata-cursors # Pretty cursors
|
||||
kdenlive # Video editing software
|
||||
feishin # Audio Player that connects to my Navidrome server
|
||||
audacity # Audio Mixer
|
||||
filezilla # SFTP FTP and all these protocols
|
||||
|
||||
# Shell stuff
|
||||
zsh # Favorite shell so far
|
||||
|
@ -180,13 +189,20 @@
|
|||
ffmpeg # Video and sound editiing
|
||||
pywal16 # Generate 16 palette from image
|
||||
wev # Utility to find which key you pressed
|
||||
hugo # Static website engine to make my blog
|
||||
php # For hosting Adminer
|
||||
libnotify # Man I want that notify-send
|
||||
ripgrep # Faster grep alternative
|
||||
|
||||
# Utilities
|
||||
wl-clipboard # Clipboard manager
|
||||
grim # Screenshot tool
|
||||
slurp # Useful with grim for screenshotting
|
||||
swww # Wallpaper engine
|
||||
pulseaudio-dlna # To play sound on sound system
|
||||
activitywatch # Stats on time spent
|
||||
awatcher # Wayland Idle and window watcher
|
||||
swaynotificationcenter # Notification daemon and notification center
|
||||
];
|
||||
|
||||
services.gvfs.enable = true; # Enable Trash so that if I delete my nix files without having saved them I can backup .........
|
||||
|
@ -196,6 +212,13 @@
|
|||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.hyprland.enableGnomeKeyring = true;
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
daemon.settings = {
|
||||
data-root = "/home/zuma/.docker-data";
|
||||
};
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.ubuntu
|
||||
|
|
|
@ -12,11 +12,12 @@
|
|||
../../commons/programs/neovim.nix
|
||||
../../commons/programs/kitty.nix
|
||||
../../commons/programs/waybar.nix
|
||||
../../commons/programs/swaync.nix
|
||||
];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
platformTheme.name = "gtk";
|
||||
style= {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
|
|
Loading…
Reference in a new issue