swaync and gtklock
This commit is contained in:
8
flake.lock
generated
8
flake.lock
generated
@ -635,11 +635,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738941286,
|
"lastModified": 1739126593,
|
||||||
"narHash": "sha256-rBm+US6iZoimF2/AkrWNL3omc+6v4Fj39MbJ4r2U//g=",
|
"narHash": "sha256-aVixbVsMsb63xH8Bi/6/xaN1rEF8uMvx0vWbN41Or6o=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "5bb8ba507ea45fb8a6865526c8b81bdc41e431c2",
|
"rev": "c528a43b7ab04cd818441dc87ccde082b33bd12f",
|
||||||
"revCount": 3,
|
"revCount": 6,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitea.linerds.us/unexplrd/Neve"
|
"url": "https://gitea.linerds.us/unexplrd/Neve"
|
||||||
},
|
},
|
||||||
|
@ -7,6 +7,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.desktop.niri;
|
cfg = config.desktop.niri;
|
||||||
|
terminal = "ghostty";
|
||||||
|
launcher = "walker";
|
||||||
|
browser = "app.zen_browser.zen";
|
||||||
|
lockscreen = "gtklock";
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
desktop.niri.enable =
|
desktop.niri.enable =
|
||||||
@ -41,8 +45,186 @@ in {
|
|||||||
};
|
};
|
||||||
systemdTarget = "graphical-session.target";
|
systemdTarget = "graphical-session.target";
|
||||||
};
|
};
|
||||||
dunst = {
|
swaync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# cssPriority = "user";
|
||||||
|
image-visibility = "when-available";
|
||||||
|
keyboard-shortcut = true;
|
||||||
|
relative-timestamps = true;
|
||||||
|
timeout = 5;
|
||||||
|
timeout-low = 5;
|
||||||
|
timeout-critical = 0;
|
||||||
|
script-fail-notify = true;
|
||||||
|
transition-time = 200;
|
||||||
|
|
||||||
|
# Layer settings
|
||||||
|
layer-shell = true;
|
||||||
|
layer = "overlay";
|
||||||
|
control-center-layer = "overlay";
|
||||||
|
|
||||||
|
# Notification settings
|
||||||
|
positionX = "right";
|
||||||
|
positionY = "top";
|
||||||
|
notification-2fa-action = true;
|
||||||
|
notification-inline-replies = false;
|
||||||
|
notification-icon-size = 32;
|
||||||
|
notification-body-image-height = 100;
|
||||||
|
notification-body-image-width = 200;
|
||||||
|
notification-window-width = 300;
|
||||||
|
|
||||||
|
# Control center settings
|
||||||
|
control-center-positionX = "right";
|
||||||
|
control-center-positionY = "top";
|
||||||
|
control-center-width = 500;
|
||||||
|
control-center-exclusive-zone = true;
|
||||||
|
fit-to-screen = true;
|
||||||
|
hide-on-action = true;
|
||||||
|
hide-on-clear = false;
|
||||||
|
|
||||||
|
# Widget settings
|
||||||
|
widgets = [
|
||||||
|
"title"
|
||||||
|
"dnd"
|
||||||
|
"notifications"
|
||||||
|
"mpris"
|
||||||
|
];
|
||||||
|
|
||||||
|
widget-config = {
|
||||||
|
title = {
|
||||||
|
text = "Notifications";
|
||||||
|
clear-all-button = true;
|
||||||
|
button-text = "Clear All";
|
||||||
|
};
|
||||||
|
dnd = {
|
||||||
|
text = "Do Not Disturb";
|
||||||
|
};
|
||||||
|
mpris = {
|
||||||
|
image-size = 96;
|
||||||
|
image-radius = 12;
|
||||||
|
blur = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
/*** Global ***/
|
||||||
|
progress,
|
||||||
|
progressbar,
|
||||||
|
trough {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-icon,
|
||||||
|
.image {
|
||||||
|
-gtk-icon-effect: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-action {
|
||||||
|
border-radius: 12px;
|
||||||
|
margin: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-button {
|
||||||
|
margin: 24px;
|
||||||
|
padding: 0.2rem;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Notifications ***/
|
||||||
|
.notification-group.collapsed
|
||||||
|
.notification-row:not(:last-child)
|
||||||
|
.notification-action,
|
||||||
|
.notification-group.collapsed
|
||||||
|
.notification-row:not(:last-child)
|
||||||
|
.notification-default-action {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trough {
|
||||||
|
margin: 4px;
|
||||||
|
border-radius: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification,
|
||||||
|
.notification.low,
|
||||||
|
.notification.normal,
|
||||||
|
.notification.critical,
|
||||||
|
.control-center {
|
||||||
|
margin: 16px;
|
||||||
|
border-radius: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-content,
|
||||||
|
.floating-notifications {
|
||||||
|
border: transparent;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center-list {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Widgets ***/
|
||||||
|
/* Title widget */
|
||||||
|
.widget-title {
|
||||||
|
margin: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-title > label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-title > button {
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* DND Widget */
|
||||||
|
.widget-dnd {
|
||||||
|
margin: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch slider {
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mpris widget */
|
||||||
|
.widget-mpris .widget-mpris-player {
|
||||||
|
border-radius: 16px;
|
||||||
|
margin: 0.5rem;
|
||||||
|
padding: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris .widget-mpris-player .widget-mpris-album-art {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris .widget-mpris-player .widget-mpris-title {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris .widget-mpris-player .widget-mpris-subtitle {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris .widget-mpris-player > box > button {
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 0.25rem;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
dunst = {
|
||||||
|
enable = false;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
width = 300;
|
width = 300;
|
||||||
@ -67,13 +249,13 @@ in {
|
|||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
before_sleep_cmd = "loginctl lock-session";
|
before_sleep_cmd = "loginctl lock-session";
|
||||||
lock_cmd = "pidof hyprlock || hyprlock";
|
lock_cmd = "pidof ${lockscreen} || ${lockscreen}";
|
||||||
# unlock_cmd = "loginctl unlock-session";
|
# unlock_cmd = "loginctl unlock-session";
|
||||||
};
|
};
|
||||||
listener = [
|
listener = [
|
||||||
{
|
{
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
on-timeout = "pidof hyprlock || hyprlock";
|
on-timeout = "pidof ${lockscreen} || ${lockscreen}";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 601;
|
timeout = 601;
|
||||||
@ -84,7 +266,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = false;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
disable_loading_bar = true;
|
disable_loading_bar = true;
|
||||||
@ -173,11 +355,6 @@ in {
|
|||||||
target = "niri/config.kdl";
|
target = "niri/config.kdl";
|
||||||
text = let
|
text = let
|
||||||
cursor_size = toString config.stylix.cursor.size;
|
cursor_size = toString config.stylix.cursor.size;
|
||||||
terminal = "ghostty";
|
|
||||||
launcher = "walker";
|
|
||||||
browser = "app.zen_browser.zen";
|
|
||||||
lockscreen = "hyprlock";
|
|
||||||
# clipboard = "copyq toggle";
|
|
||||||
left = "n";
|
left = "n";
|
||||||
down = "e";
|
down = "e";
|
||||||
up = "i";
|
up = "i";
|
||||||
@ -278,7 +455,6 @@ in {
|
|||||||
width 3
|
width 3
|
||||||
active-gradient from="#${config.lib.stylix.colors.base0D}" to="#${config.lib.stylix.colors.base04}" angle=40 relative-to="workspace-view"
|
active-gradient from="#${config.lib.stylix.colors.base0D}" to="#${config.lib.stylix.colors.base04}" angle=40 relative-to="workspace-view"
|
||||||
inactive-color "#${config.lib.stylix.colors.base03}"
|
inactive-color "#${config.lib.stylix.colors.base03}"
|
||||||
// inactive-gradient from="#1c1c1c" to="#4e4e4e" angle=60 relative-to="workspace-view"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can also add a border. It's similar to the focus ring, but always visible.
|
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||||
@ -288,13 +464,8 @@ in {
|
|||||||
off
|
off
|
||||||
|
|
||||||
width 4
|
width 4
|
||||||
// active-color "#ffc87f"
|
|
||||||
inactive-color "#${config.lib.stylix.colors.base00}"
|
inactive-color "#${config.lib.stylix.colors.base00}"
|
||||||
// active-gradient from="#${config.lib.stylix.colors.base0D}" to="#${config.lib.stylix.colors.base0C}" angle=40 relative-to="workspace-view"
|
// active-gradient from="#${config.lib.stylix.colors.base0D}" to="#${config.lib.stylix.colors.base0C}" angle=40 relative-to="workspace-view"
|
||||||
// inactive-gradient from="#1c1c1c" to="#4e4e4e" angle=60 relative-to="workspace-view"
|
|
||||||
|
|
||||||
// active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
|
|
||||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struts {
|
struts {
|
||||||
@ -313,7 +484,7 @@ in {
|
|||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
|
|
||||||
screenshot-path "~/pics/screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png"
|
screenshot-path "${config.xdg.userDirs.pictures}/screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png"
|
||||||
// screenshot-path null
|
// screenshot-path null
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
@ -331,10 +502,10 @@ in {
|
|||||||
open-focused true
|
open-focused true
|
||||||
}
|
}
|
||||||
|
|
||||||
// window-rule {
|
window-rule {
|
||||||
// match app-id=r#"^com\.mitchellh\.ghostty$"#
|
match app-id=r#"^com\.mitchellh\.ghostty$"#
|
||||||
// draw-border-with-background false
|
draw-border-with-background false
|
||||||
// }
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||||
@ -355,9 +526,6 @@ in {
|
|||||||
Super+Alt+L repeat=false { spawn "${lockscreen}"; }
|
Super+Alt+L repeat=false { spawn "${lockscreen}"; }
|
||||||
Super+Alt+B repeat=false { spawn "${browser}"; }
|
Super+Alt+B repeat=false { spawn "${browser}"; }
|
||||||
Super+Alt+V repeat=false { spawn "copyq" "toggle"; }
|
Super+Alt+V repeat=false { spawn "copyq" "toggle"; }
|
||||||
Super+Alt+D repeat=false { spawn "dunstctl" "set-paused" "toggle"; }
|
|
||||||
Super+Alt+C repeat=false { spawn "dunstctl" "close-all"; }
|
|
||||||
Super+Alt+X repeat=false { spawn "dunstctl" "history-pop"; }
|
|
||||||
Mod+Alt+Q { quit; }
|
Mod+Alt+Q { quit; }
|
||||||
Mod+Alt+P { power-off-monitors; }
|
Mod+Alt+P { power-off-monitors; }
|
||||||
|
|
||||||
@ -547,7 +715,11 @@ in {
|
|||||||
"clock"
|
"clock"
|
||||||
"wlr/taskbar"
|
"wlr/taskbar"
|
||||||
];
|
];
|
||||||
modules-center = ["group/niri" "privacy"];
|
modules-center = [
|
||||||
|
"custom/notification"
|
||||||
|
"group/niri"
|
||||||
|
"privacy"
|
||||||
|
];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"tray"
|
"tray"
|
||||||
"wireplumber"
|
"wireplumber"
|
||||||
@ -641,14 +813,6 @@ in {
|
|||||||
on-scroll-down = "~/.local/bin/keyboard-brightness.nu change -1";
|
on-scroll-down = "~/.local/bin/keyboard-brightness.nu change -1";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
};
|
};
|
||||||
# "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 = {
|
battery = {
|
||||||
states = {
|
states = {
|
||||||
good = 95;
|
good = 95;
|
||||||
@ -728,23 +892,25 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
style = let
|
||||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
stylix = config.lib.stylix.colors;
|
||||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
in ''
|
||||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
@define-color base00 #${stylix.base00};
|
||||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
@define-color base01 #${stylix.base01};
|
||||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
@define-color base02 #${stylix.base02};
|
||||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
@define-color base03 #${stylix.base03};
|
||||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
@define-color base04 #${stylix.base04};
|
||||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
@define-color base05 #${stylix.base05};
|
||||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
@define-color base06 #${stylix.base06};
|
||||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
@define-color base07 #${stylix.base07};
|
||||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
@define-color base08 #${stylix.base08};
|
||||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
@define-color base09 #${stylix.base09};
|
||||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
@define-color base0A #${stylix.base0A};
|
||||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
@define-color base0B #${stylix.base0B};
|
||||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
@define-color base0C #${stylix.base0C};
|
||||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
@define-color base0D #${stylix.base0D};
|
||||||
|
@define-color base0E #${stylix.base0E};
|
||||||
|
@define-color base0F #${stylix.base0F};
|
||||||
* {
|
* {
|
||||||
font-family: Iosevka Nerd Font Propo, FontAwesome;
|
font-family: Iosevka Nerd Font Propo, FontAwesome;
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
@ -1148,157 +1314,155 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
style = let
|
||||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
stylix = config.lib.stylix.colors;
|
||||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
in ''
|
||||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
@define-color base00 #${stylix.base00};
|
||||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
@define-color base01 #${stylix.base01};
|
||||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
@define-color base02 #${stylix.base02};
|
||||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
@define-color base03 #${stylix.base03};
|
||||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
@define-color base04 #${stylix.base04};
|
||||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
@define-color base05 #${stylix.base05};
|
||||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
@define-color base06 #${stylix.base06};
|
||||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
@define-color base07 #${stylix.base07};
|
||||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
@define-color base08 #${stylix.base08};
|
||||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
@define-color base09 #${stylix.base09};
|
||||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
@define-color base0A #${stylix.base0A};
|
||||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
@define-color base0B #${stylix.base0B};
|
||||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
@define-color base0C #${stylix.base0C};
|
||||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
@define-color base0D #${stylix.base0D};
|
||||||
|
@define-color base0E #${stylix.base0E};
|
||||||
|
@define-color base0F #${stylix.base0F};
|
||||||
|
|
||||||
#window,
|
#window,
|
||||||
#box,
|
#box,
|
||||||
#search,
|
#search,
|
||||||
#password,
|
#password,
|
||||||
#input,
|
#input,
|
||||||
#typeahead,
|
#typeahead,
|
||||||
#spinner,
|
#spinner,
|
||||||
#list,
|
#list,
|
||||||
child,
|
child,
|
||||||
scrollbar,
|
scrollbar,
|
||||||
slider,
|
slider,
|
||||||
#item,
|
#item,
|
||||||
#text,
|
#text,
|
||||||
#label,
|
#label,
|
||||||
#sub,
|
#sub,
|
||||||
#activationlabel {
|
#activationlabel {
|
||||||
all: unset;
|
all: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
#window {
|
||||||
background: none;
|
background: none;
|
||||||
color: @base05;
|
color: @base05;
|
||||||
}
|
}
|
||||||
|
|
||||||
#box {
|
#box {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
border-width: 4px;
|
border-width: 4px;
|
||||||
border-color: @base0D;
|
border-color: @base0D;
|
||||||
background: @base00;
|
background: @base00;
|
||||||
}
|
}
|
||||||
|
|
||||||
#search {
|
#search {
|
||||||
background: @base01;
|
background: @base01;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#password,
|
#password,
|
||||||
#input,
|
#input,
|
||||||
#typeahead {
|
#typeahead {
|
||||||
background: none;
|
background: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#input > *:first-child,
|
#input > *:first-child,
|
||||||
#typeahead > *:first-child {
|
#typeahead > *:first-child {
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #spinner {
|
/* #spinner {
|
||||||
} */
|
} */
|
||||||
|
|
||||||
#typeahead {
|
#typeahead {
|
||||||
color: @base05;
|
color: @base05;
|
||||||
}
|
}
|
||||||
|
|
||||||
#input placeholder {
|
#input placeholder {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
#list {
|
#list {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
background: @base01;
|
background: @base01;
|
||||||
}
|
}
|
||||||
|
|
||||||
child {
|
child {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
child:selected,
|
child:selected,
|
||||||
child:hover {
|
child:hover {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background: @base02;
|
background: @base02;
|
||||||
}
|
}
|
||||||
|
|
||||||
#item {
|
#item {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #icon {
|
/* #icon {
|
||||||
}
|
}
|
||||||
|
|
||||||
#text {
|
#text {
|
||||||
}
|
}
|
||||||
|
|
||||||
#label {
|
#label {
|
||||||
} */
|
} */
|
||||||
|
|
||||||
#sub {
|
#sub {
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
#activationlabel {
|
#activationlabel {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.activation #activationlabel {
|
.activation #activationlabel {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
color: @base05;
|
color: @base05;
|
||||||
}
|
}
|
||||||
|
|
||||||
.activation #text,
|
.activation #text,
|
||||||
.activation #icon,
|
.activation #icon,
|
||||||
.activation #search {
|
.activation #search {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.wpaperd.enable = true;
|
programs.wpaperd.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
niri
|
celluloid
|
||||||
nautilus
|
nautilus
|
||||||
|
gtklock
|
||||||
helvum
|
helvum
|
||||||
loupe
|
loupe
|
||||||
|
niri
|
||||||
evince
|
evince
|
||||||
celluloid
|
|
||||||
junction
|
junction
|
||||||
swayidle
|
|
||||||
swaylock-effects
|
|
||||||
libnotify
|
libnotify
|
||||||
playerctl
|
|
||||||
wdisplays
|
wdisplays
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
wl-clipboard-rs
|
wl-clipboard-rs
|
||||||
polkit_gnome
|
|
||||||
xwayland-satellite
|
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
@ -1317,158 +1481,162 @@ in {
|
|||||||
icon-theme = "${config.gtk.iconTheme.name}";
|
icon-theme = "${config.gtk.iconTheme.name}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.mime.enable = true;
|
xdg = {
|
||||||
xdg.mimeApps = {
|
mime.enable = true;
|
||||||
enable = true;
|
mimeApps = {
|
||||||
defaultApplications = let
|
enable = true;
|
||||||
file_manager = ["org.gnome.Nautilus.desktop"];
|
defaultApplications = let
|
||||||
web_browser = ["re.sonny.Junction.desktop"];
|
file_manager = ["org.gnome.Nautilus.desktop"];
|
||||||
image_viewer = ["org.gnome.Loupe.desktop"];
|
web_browser = ["re.sonny.Junction.desktop"];
|
||||||
video_player = ["io.github.celluloid_player.Celluloid.desktop"];
|
image_viewer = ["org.gnome.Loupe.desktop"];
|
||||||
pdf_reader = ["org.gnome.Evince.desktop"];
|
video_player = ["io.github.celluloid_player.Celluloid.desktop"];
|
||||||
in {
|
pdf_reader = ["org.gnome.Evince.desktop"];
|
||||||
"inode/directory" = file_manager;
|
in {
|
||||||
"video/x-matroska" = video_player;
|
"inode/directory" = file_manager;
|
||||||
"video/mp4" = video_player;
|
"video/x-matroska" = video_player;
|
||||||
"video/mpeg" = video_player;
|
"video/mp4" = video_player;
|
||||||
"video/x-mpeg" = video_player;
|
"video/mpeg" = video_player;
|
||||||
"image/png" = image_viewer;
|
"video/x-mpeg" = video_player;
|
||||||
"image/jpeg" = image_viewer;
|
"image/png" = image_viewer;
|
||||||
"application/pdf" = pdf_reader;
|
"image/jpeg" = image_viewer;
|
||||||
"text/html" = web_browser;
|
"application/pdf" = pdf_reader;
|
||||||
"x-scheme-handler/http" = web_browser;
|
"text/html" = web_browser;
|
||||||
"x-scheme-handler/https" = web_browser;
|
"x-scheme-handler/http" = web_browser;
|
||||||
"x-scheme-handler/about" = web_browser;
|
"x-scheme-handler/https" = web_browser;
|
||||||
"x-scheme-handler/unknown" = web_browser;
|
"x-scheme-handler/about" = web_browser;
|
||||||
|
"x-scheme-handler/unknown" = web_browser;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.user.settings.Manager.DefaultEnvironment = {
|
systemd.user = {
|
||||||
# QT_QPA_PLATFORMTHEME = "gtk3";
|
settings.Manager.DefaultEnvironment = {
|
||||||
QT_QPA_PLATFORM = "wayland";
|
# QT_QPA_PLATFORMTHEME = "gtk3";
|
||||||
DISPLAY = ":123";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
};
|
DISPLAY = ":123";
|
||||||
systemd.user.targets.tray = {
|
|
||||||
# workaround for udiskie
|
|
||||||
Unit = {
|
|
||||||
Description = "Home Manager System Tray";
|
|
||||||
};
|
};
|
||||||
};
|
targets.tray = {
|
||||||
systemd.user.services = {
|
# workaround for udiskie
|
||||||
udiskie = {
|
|
||||||
Unit = {
|
Unit = {
|
||||||
PartOf = ["graphical-session.target"];
|
Description = "Home Manager System Tray";
|
||||||
After = ["graphical-session.target"];
|
|
||||||
Requisite = ["graphical-session.target"];
|
|
||||||
};
|
|
||||||
Install = {
|
|
||||||
WantedBy = ["niri.service"];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
waybar = {
|
services = {
|
||||||
Unit = {
|
udiskie = {
|
||||||
PartOf = ["graphical-session.target"];
|
Unit = {
|
||||||
After = ["graphical-session.target"];
|
PartOf = ["graphical-session.target"];
|
||||||
Requisite = ["graphical-session.target"];
|
After = ["graphical-session.target"];
|
||||||
|
Requisite = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
Install = {
|
waybar = {
|
||||||
WantedBy = ["niri.service"];
|
Unit = {
|
||||||
|
PartOf = ["graphical-session.target"];
|
||||||
|
After = ["graphical-session.target"];
|
||||||
|
Requisite = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
copyq = {
|
||||||
copyq = {
|
Unit = {
|
||||||
Unit = {
|
PartOf = ["graphical-session.target"];
|
||||||
PartOf = ["graphical-session.target"];
|
After = ["graphical-session.target"];
|
||||||
After = ["graphical-session.target"];
|
Requisite = ["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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
Install = {
|
wpaperd = {
|
||||||
WantedBy = ["niri.service"];
|
Unit = {
|
||||||
|
PartOf = ["graphical-session.target"];
|
||||||
|
After = ["graphical-session.target"];
|
||||||
|
Requisite = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 1;
|
||||||
|
TimeoutStopSec = 10;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
Service = {
|
network-manager-applet = {
|
||||||
Environment = lib.mkForce "QT_QPA_PLATFORM=wayland";
|
Unit = {
|
||||||
Restart = "on-failure";
|
PartOf = ["graphical-session.target"];
|
||||||
RestartSec = 1;
|
After = ["graphical-session.target"];
|
||||||
TimeoutStopSec = 10;
|
Requisite = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
gnome-polkit-agent = {
|
||||||
wpaperd = {
|
Unit = {
|
||||||
Unit = {
|
PartOf = ["graphical-session.target"];
|
||||||
PartOf = ["graphical-session.target"];
|
After = ["graphical-session.target"];
|
||||||
After = ["graphical-session.target"];
|
Requisite = ["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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
Install = {
|
wlsunset = {
|
||||||
WantedBy = ["niri.service"];
|
Unit = {
|
||||||
|
PartOf = ["graphical-session.target"];
|
||||||
|
After = ["graphical-session.target"];
|
||||||
|
Requisite = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
Service = {
|
hypridle = {
|
||||||
Type = "simple";
|
Unit = {
|
||||||
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
|
PartOf = ["graphical-session.target"];
|
||||||
Restart = "on-failure";
|
After = ["graphical-session.target"];
|
||||||
RestartSec = 1;
|
Requisite = ["graphical-session.target"];
|
||||||
TimeoutStopSec = 10;
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["niri.service"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
xwayland-satellite = {
|
||||||
network-manager-applet = {
|
Unit = {
|
||||||
Unit = {
|
PartOf = ["graphical-session.target"];
|
||||||
PartOf = ["graphical-session.target"];
|
After = ["graphical-session.target"];
|
||||||
After = ["graphical-session.target"];
|
Requisite = ["graphical-session.target"];
|
||||||
Requisite = ["graphical-session.target"];
|
};
|
||||||
};
|
Install = {
|
||||||
Install = {
|
WantedBy = ["niri.service"];
|
||||||
WantedBy = ["niri.service"];
|
};
|
||||||
};
|
Service = {
|
||||||
};
|
Type = "simple";
|
||||||
gnome-polkit-agent = {
|
ExecStart = "${lib.getExe pkgs.xwayland-satellite} :123";
|
||||||
Unit = {
|
Restart = "on-failure";
|
||||||
PartOf = ["graphical-session.target"];
|
RestartSec = 1;
|
||||||
After = ["graphical-session.target"];
|
TimeoutStopSec = 10;
|
||||||
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"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
hypridle = {
|
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -20,6 +20,7 @@ in {
|
|||||||
fonts.fontDir.enable = true;
|
fonts.fontDir.enable = true;
|
||||||
security.pam = {
|
security.pam = {
|
||||||
services.hyprlock = {};
|
services.hyprlock = {};
|
||||||
|
services.gtklock = {};
|
||||||
loginLimits = [
|
loginLimits = [
|
||||||
{
|
{
|
||||||
domain = "@users";
|
domain = "@users";
|
||||||
|
Reference in New Issue
Block a user