Added NCSway

This commit is contained in:
2026-02-27 00:17:12 +01:00
parent 76ec2c05d3
commit 0a714851c6
8 changed files with 947 additions and 367 deletions
-7
View File
@@ -1,7 +0,0 @@
#keys:
# - &primary age1yq35g6mmlem0rhr47u6ewh8dctlwp9hj0s0ac60e4hrw9hjzlqms6crf7n
#creation_rules:
# - path_regex: secrets/secrets.yaml$
# key_groups:
# - age:
# - *primary
+395 -346
View File
File diff suppressed because it is too large Load Diff
+60 -14
View File
@@ -463,6 +463,9 @@ The tree below shows the full repository layout, with the standardized internal
#+begin_src bash :tangle no
├── assets
│   ├── conf
│   │   ├── app.
├── assets
│   ├── conf
│   │   ├── apps
│   │   │   ├── flatpaks.conf
│   │   │   └── packages.conf
@@ -475,12 +478,31 @@ The tree below shows the full repository layout, with the standardized internal
│   │   │   │   ├── hypridle.conf
│   │   │   │   ├── hyprland.conf
│   │   │   │   ├── hyprlock.conf
│   │   │   │   ├── hyprscrolling.conf
│   │   │   │   ├── hyprshell
│   │   │   │   │   ├── config.ron
│   │   │   │   │   └── styles.css
│   │   │   │   └── scripts
│   │   │   │   ├── hyprscrolling-per-monitor.sh
│   │   │   │   ├── hyprscroll-overflow.sh
│   │   │   │   ├── lid-lock.sh
│   │   │   │   ├── lid-restore.sh
│   │   │   │   └── powermenu.sh
│   │   │   ├── wallpaper
│   │   │   │   ├── gif
│   │   │   │   ├── pictures
│   │   │   │   │   ├── 1.jpg
│   │   │   │   │   ├── 2.jpg
│   │   │   │   │   ├── 3.jpg
│   │   │   │   │   ├── 4.png
│   │   │   │   │   ├── 5.jpg
│   │   │   │   │   ├── 6.jpg
│   │   │   │   │   ├── 7.jpg
│   │   │   │   │   ├── 8.jpg
│   │   │   │   │   └── 9.jpg
│   │   │   │   ├── videos
│   │   │   │   │   ├── dark_water_large.mp4
│   │   │   │   │   └── white_blobs_small.mp4
│   │   │   │   └── wallpaper.conf
│   │   │   └── waybar
│   │   │   ├── config.jsonc
@@ -489,6 +511,7 @@ The tree below shows the full repository layout, with the standardized internal
│   │   │   └── terminal
│   │   │   ├── alacritty.toml
│   │   │   ├── aliases.conf
│   │   │   ├── Catppuccin-Mocha.conf
│   │   │   ├── enabled_shells.conf
│   │   │   ├── kitty.conf
│   │   │   ├── starship.toml
@@ -497,14 +520,8 @@ The tree below shows the full repository layout, with the standardized internal
│   │   │   └── ssh
│   │   │   └── ssh-client.conf
│   │   └── services
│   ├── cursors
│   │   └── Bibata_Cursor-main
│   ├── icons
│   │   └── papirus-icon-theme-master
│   ├── lock.png
│   ── scripts
│   └── themes
│   └── Catppuccin-Mocha-Standard-Blue-Dark
│   ── scripts
├── configuration
│   ├── apps
│   │   ├── ai.nix
@@ -537,15 +554,18 @@ The tree below shows the full repository layout, with the standardized internal
│   │   └── theme.nix
│   ├── default.nix
│   ├── desktop
│   │   ├── animated_wallpaper.nix
│   │   ├── hyprexpo.nix
│   │   ├── hypridle.nix
│   │   ├── hyprland.nix
│   │   ├── hyprlock.nix
│   │   ├── hyprscrolling.nix
│   │   ├── hyprshell.nix
│   │   ├── walker.nix
│   │   ├── powermenu.nix
│   │   ├── rotating_wallpaper.nix
│   │   ── waybar.nix
│   │   ── walker.nix
│   │   ├── waybar.nix
│   │   └── workspace_wallpaper.nix
│   └── dev
│   ├── alacritty.nix
│   ├── dev.nix
@@ -559,10 +579,6 @@ The tree below shows the full repository layout, with the standardized internal
│   └── zsh.nix
├── LICENSE
├── machines
│   ├── machine1
│   │   ├── configuration.nix
│   │   ├── hardware-configuration.nix
│   │   └── home.nix
│   └── traveldroid
│   ├── configuration.nix
│   ├── hardware-configuration.nix
@@ -598,7 +614,6 @@ The tree below shows the full repository layout, with the standardized internal
| Window Manager | [[https://hyprland.org/][Hyprland]] |
| Bar | [[https://github.com/Alexays/Waybar][Waybar]] |
| Application Launcher | [[https://github.com/abenz1267/walker][Walker]] |
| Notification Daemon | [[https://github.com/dunst-project/dunst][Dunst]] |
| Terminal Emulator | [[https://alacritty.org/][Alacritty]] |
| Shell | [[https://ohmyz.sh/][Zsh]] and [[https://starship.rs/][Starship]] |
| Text Editor | [[https://www.gnu.org/software/emacs/][Emacs]] |
@@ -1636,6 +1651,7 @@ This module will import all necessities.
./desktop/hyprlock.nix
./desktop/hyprscrolling.nix
./desktop/hyprshell.nix
./desktop/ncsway.nix
./desktop/powermenu.nix
#./desktop/animated_wallpaper.nix
#./desktop/rotating_wallpaper.nix
@@ -1658,6 +1674,36 @@ This module will import all necessities.
}
#+end_src
** NCSway
Takes care of notifications
#+begin_src nix :tangle home/desktop/ncsway.nix :noweb tangle :mkdirp yes
{ config, pkgs, lib, flakeRoot, ... }:
let
repoConf = flakeRoot + "/assets/conf/desktop/notifications/swaync/config.json";
repoStyle = flakeRoot + "/assets/conf/desktop/notifications/swaync/style.css";
in
{
home.packages = [ pkgs.swaynotificationcenter ];
# Ensure config directory exists in ~/.config
xdg.configFile."swaync/config.json".source = repoConf;
xdg.configFile."swaync/style.css".source = repoStyle;
# Start swaync automatically (systemd user service)
systemd.user.services.swaync = {
Unit = {
Description = "Sway Notification Center";
PartOf = [ "graphical-session.target" ];
};
Service = {
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
Restart = "always";
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
};
}
#+end_src
** Powermenu
Creates a script for a powermenu
#+begin_src nix :tangle home/desktop/powermenu.nix :noweb tangle :mkdirp yes
@@ -0,0 +1,62 @@
{
"ignore-gtk-theme": true,
"cssPriority": "user",
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"layer-shell": true,
"control-center-positionX": "right",
"control-center-positionY": "top",
"control-center-layer": "overlay",
"control-center-exclusive-zone": true,
"control-center-width": 480,
"control-center-height": 0,
"fit-to-screen": true,
"control-center-margin-top": 14,
"control-center-margin-right": 14,
"control-center-margin-bottom": 14,
"control-center-margin-left": 14,
"notification-window-width": 420,
"notification-window-height": -1,
"timeout": 8,
"timeout-low": 4,
"timeout-critical": 0,
"transition-time": 150,
"notification-grouping": true,
"keyboard-shortcuts": true,
"hide-on-action": true,
"hide-on-clear": false,
"relative-timestamps": true,
"image-visibility": "when-available",
"notification-2fa-action": true,
"text-empty": "No notifications",
"widgets": [
"title",
"dnd",
"notifications"
],
"widget-config": {
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear"
},
"dnd": {
"text": "Do Not Disturb"
},
"notifications": {
"vexpand": true
}
}
}
@@ -0,0 +1,202 @@
/* -------------------------------------------------
* SwayNotificationCenter (swaync) Catppuccin Mocha-ish
* Put in: ~/.config/swaync/style.css
*
* Tip: GTK_DEBUG=interactive swaync (inspect CSS classes)
* ------------------------------------------------- */
/* --- Catppuccin Mocha core (commonly used values) --- */
@define-color crust #11111b;
@define-color mantle #181825;
@define-color base #1e1e2e;
@define-color surface0 #313244;
@define-color surface1 #45475a;
@define-color surface2 #585b70;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color blue #89b4fa;
@define-color green #a6e3a1;
@define-color yellow #f9e2af;
@define-color red #f38ba8;
/* If you want even more blur-through effect, increase transparency a bit */
@define-color panel_rgba rgba(30, 30, 46, 0.78);
@define-color card_rgba rgba(49, 50, 68, 0.78);
/* ---- Kill GTK list row selection glow (common tweak) ---- */
list, listview, row,
listview row, listview row:selected, listview row:hover,
listview row:focus, listview row:active {
background-color: transparent;
background-image: none;
box-shadow: none;
outline: none;
}
/* ---- Global defaults ---- */
* {
color: @text;
font-family: "Aporetic Sans Mono", "Iosevka Nerd Font", "Sans";
font-size: 13px;
}
.notification-row {
margin: 0;
padding: 0;
}
/* Notification popup window */
window#notification-window {
background: transparent;
}
/* Control center window */
.control-center {
background-color: @panel_rgba;
border-radius: 18px;
padding: 14px;
box-shadow: 0 10px 30px rgba(0,0,0,0.45);
border: 1px solid rgba(186, 194, 222, 0.10);
}
/* Widgets */
.widget-title {
margin: 0 0 10px 0;
padding: 6px 10px;
border-radius: 14px;
background-color: rgba(24, 24, 37, 0.70);
border: 1px solid rgba(186, 194, 222, 0.08);
}
.widget-title > label {
font-size: 14px;
font-weight: 700;
}
.widget-title button {
border-radius: 12px;
padding: 6px 10px;
background-color: rgba(69, 71, 90, 0.55);
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: none;
}
.widget-title button:hover {
background-color: rgba(88, 91, 112, 0.55);
}
.widget-dnd {
margin: 0 0 12px 0;
padding: 10px 12px;
border-radius: 16px;
background-color: rgba(24, 24, 37, 0.65);
border: 1px solid rgba(186, 194, 222, 0.08);
}
.widget-dnd .switch {
border-radius: 999px;
}
.widget-notifications {
margin: 0;
padding: 0;
}
/* ---- Notification cards (both popup + center list) ---- */
.notification-background {
margin: 10px 0;
padding: 0;
background: transparent;
}
.notification-background .notification {
background-color: @card_rgba;
border-radius: 16px;
padding: 12px 12px;
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: 0 8px 22px rgba(0,0,0,0.35);
}
/* Left colored accent bar using urgency */
.notification.critical {
border-left: 4px solid @red;
}
.notification.low {
border-left: 4px solid @blue;
}
.notification.normal {
border-left: 4px solid @green;
}
/* Header/meta */
.notification .app-name {
color: @subtext1;
font-weight: 700;
}
.notification .time {
color: @subtext0;
font-size: 12px;
}
/* Text */
.notification .summary {
color: @text;
font-weight: 800;
font-size: 14px;
margin-top: 2px;
}
.notification .body {
color: @subtext1;
margin-top: 6px;
line-height: 1.25;
}
/* Icons */
.notification .image {
border-radius: 12px;
}
.notification .app-icon {
border-radius: 10px;
}
/* Buttons */
.notification button {
border-radius: 12px;
background-color: rgba(69, 71, 90, 0.55);
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: none;
padding: 6px 10px;
}
.notification button:hover {
background-color: rgba(88, 91, 112, 0.55);
}
.notification .close-button {
border-radius: 12px;
background-color: rgba(243, 139, 168, 0.12);
border: 1px solid rgba(243, 139, 168, 0.18);
}
.notification .close-button:hover {
background-color: rgba(243, 139, 168, 0.20);
}
/* Empty state */
.control-center .placeholder {
color: @subtext0;
}
/* Optional: nicer separators if you use them in your build */
separator {
background: rgba(186, 194, 222, 0.08);
}
+1
View File
@@ -10,6 +10,7 @@
./desktop/hyprlock.nix
./desktop/hyprscrolling.nix
./desktop/hyprshell.nix
./desktop/ncsway.nix
./desktop/powermenu.nix
#./desktop/animated_wallpaper.nix
#./desktop/rotating_wallpaper.nix
+25
View File
@@ -0,0 +1,25 @@
{ config, pkgs, lib, flakeRoot, ... }:
let
repoConf = flakeRoot + "/assets/conf/desktop/notifications/swaync/config.json";
repoStyle = flakeRoot + "/assets/conf/desktop/notifications/swaync/style.css";
in
{
home.packages = [ pkgs.swaynotificationcenter ];
# Ensure config directory exists in ~/.config
xdg.configFile."swaync/config.json".source = repoConf;
xdg.configFile."swaync/style.css".source = repoStyle;
# Start swaync automatically (systemd user service)
systemd.user.services.swaync = {
Unit = {
Description = "Sway Notification Center";
PartOf = [ "graphical-session.target" ];
};
Service = {
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
Restart = "always";
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
};
}
+202
View File
@@ -0,0 +1,202 @@
/* -------------------------------------------------
* SwayNotificationCenter (swaync) Catppuccin Mocha-ish
* Put in: ~/.config/swaync/style.css
*
* Tip: GTK_DEBUG=interactive swaync (inspect CSS classes)
* ------------------------------------------------- */
/* --- Catppuccin Mocha core (commonly used values) --- */
@define-color crust #11111b;
@define-color mantle #181825;
@define-color base #1e1e2e;
@define-color surface0 #313244;
@define-color surface1 #45475a;
@define-color surface2 #585b70;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color blue #89b4fa;
@define-color green #a6e3a1;
@define-color yellow #f9e2af;
@define-color red #f38ba8;
/* If you want even more blur-through effect, increase transparency a bit */
@define-color panel_rgba rgba(30, 30, 46, 0.78);
@define-color card_rgba rgba(49, 50, 68, 0.78);
/* ---- Kill GTK list row selection glow (common tweak) ---- */
list, listview, row,
listview row, listview row:selected, listview row:hover,
listview row:focus, listview row:active {
background-color: transparent;
background-image: none;
box-shadow: none;
outline: none;
}
/* ---- Global defaults ---- */
* {
color: @text;
font-family: "Aporetic Sans Mono", "Iosevka Nerd Font", "Sans";
font-size: 13px;
}
.notification-row {
margin: 0;
padding: 0;
}
/* Notification popup window */
window#notification-window {
background: transparent;
}
/* Control center window */
.control-center {
background-color: @panel_rgba;
border-radius: 18px;
padding: 14px;
box-shadow: 0 10px 30px rgba(0,0,0,0.45);
border: 1px solid rgba(186, 194, 222, 0.10);
}
/* Widgets */
.widget-title {
margin: 0 0 10px 0;
padding: 6px 10px;
border-radius: 14px;
background-color: rgba(24, 24, 37, 0.70);
border: 1px solid rgba(186, 194, 222, 0.08);
}
.widget-title > label {
font-size: 14px;
font-weight: 700;
}
.widget-title button {
border-radius: 12px;
padding: 6px 10px;
background-color: rgba(69, 71, 90, 0.55);
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: none;
}
.widget-title button:hover {
background-color: rgba(88, 91, 112, 0.55);
}
.widget-dnd {
margin: 0 0 12px 0;
padding: 10px 12px;
border-radius: 16px;
background-color: rgba(24, 24, 37, 0.65);
border: 1px solid rgba(186, 194, 222, 0.08);
}
.widget-dnd .switch {
border-radius: 999px;
}
.widget-notifications {
margin: 0;
padding: 0;
}
/* ---- Notification cards (both popup + center list) ---- */
.notification-background {
margin: 10px 0;
padding: 0;
background: transparent;
}
.notification-background .notification {
background-color: @card_rgba;
border-radius: 16px;
padding: 12px 12px;
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: 0 8px 22px rgba(0,0,0,0.35);
}
/* Left colored accent bar using urgency */
.notification.critical {
border-left: 4px solid @red;
}
.notification.low {
border-left: 4px solid @blue;
}
.notification.normal {
border-left: 4px solid @green;
}
/* Header/meta */
.notification .app-name {
color: @subtext1;
font-weight: 700;
}
.notification .time {
color: @subtext0;
font-size: 12px;
}
/* Text */
.notification .summary {
color: @text;
font-weight: 800;
font-size: 14px;
margin-top: 2px;
}
.notification .body {
color: @subtext1;
margin-top: 6px;
line-height: 1.25;
}
/* Icons */
.notification .image {
border-radius: 12px;
}
.notification .app-icon {
border-radius: 10px;
}
/* Buttons */
.notification button {
border-radius: 12px;
background-color: rgba(69, 71, 90, 0.55);
border: 1px solid rgba(186, 194, 222, 0.10);
box-shadow: none;
padding: 6px 10px;
}
.notification button:hover {
background-color: rgba(88, 91, 112, 0.55);
}
.notification .close-button {
border-radius: 12px;
background-color: rgba(243, 139, 168, 0.12);
border: 1px solid rgba(243, 139, 168, 0.18);
}
.notification .close-button:hover {
background-color: rgba(243, 139, 168, 0.20);
}
/* Empty state */
.control-center .placeholder {
color: @subtext0;
}
/* Optional: nicer separators if you use them in your build */
separator {
background: rgba(186, 194, 222, 0.08);
}