summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration/default.nix2
-rw-r--r--configuration/desktop/default.nix4
-rw-r--r--home-configuration/config/niri/config.kdl1
-rw-r--r--home-configuration/config/quickshell/config.js4
-rw-r--r--home-configuration/config/quickshell/shell.qml127
-rw-r--r--home-configuration/default.nix22
-rw-r--r--home-configuration/managed/waybar/default.nix2
-rw-r--r--home-configuration/managed/waybar/style.nix22
-rw-r--r--home-configuration/managed/xserver/default.nix47
9 files changed, 144 insertions, 87 deletions
diff --git a/configuration/default.nix b/configuration/default.nix
index d8c0979..069603f 100644
--- a/configuration/default.nix
+++ b/configuration/default.nix
@@ -81,6 +81,8 @@
mesa-demos
wl-clipboard
inputs.fetchit.packages.${pkgs.system}.default
+ gparted
+ polkit_gnome
];
users.users.coast.isNormalUser = true;
diff --git a/configuration/desktop/default.nix b/configuration/desktop/default.nix
index 26ebdb4..a5f2c5e 100644
--- a/configuration/desktop/default.nix
+++ b/configuration/desktop/default.nix
@@ -7,8 +7,8 @@
services.xserver.enable = true;
services.xserver.xkb.layout = "us";
services.xserver.xkb.options = "eurosign:e,caps:escape";
- services.xserver.displayManager.lightdm.enable = true;
- services.xserver.displayManager.lightdm.greeters.gtk.enable = true;
+ services.displayManager.ly.enable = true;
+ #services.xserver.displayManager.lightdm.greeters.gtk.enable = true;
#niriwm
programs.niri.enable = true;
diff --git a/home-configuration/config/niri/config.kdl b/home-configuration/config/niri/config.kdl
index f91c17f..7864ed1 100644
--- a/home-configuration/config/niri/config.kdl
+++ b/home-configuration/config/niri/config.kdl
@@ -2,6 +2,7 @@ spawn-at-startup "waybar"
spawn-at-startup "awww-daemon"
spawn-at-startup "awww" "img" "/home/coast/Wallpapers/nature2art.png"
spawn-sh-at-startup "XDG_DATA_DIRS=/etc/profiles/per-user/coast/share:/run/current-system/sw/share:$HOME/.nix-profile/share:$XDG_DATA_DIRS"
+spawn-at-startup "qs"
input {
mod-key "Super"
diff --git a/home-configuration/config/quickshell/config.js b/home-configuration/config/quickshell/config.js
index 0983a40..08d6518 100644
--- a/home-configuration/config/quickshell/config.js
+++ b/home-configuration/config/quickshell/config.js
@@ -1,6 +1,6 @@
const colors = {
- bg: "#1a1b26",
- bgDark: "#16161a",
+ bg: "#121212",
+ bgDark: "#121212",
fg: "#cdd6f4",
muted: "#444b6a",
cyan: "#d3869b",
diff --git a/home-configuration/config/quickshell/shell.qml b/home-configuration/config/quickshell/shell.qml
index a1356b1..c9425cd 100644
--- a/home-configuration/config/quickshell/shell.qml
+++ b/home-configuration/config/quickshell/shell.qml
@@ -22,7 +22,7 @@ Scope {
PanelWindow {
anchors { top: true; right: true }
- margins { top: 56; right: 12 }
+ margins { top: 12; right: 12 }
implicitWidth: 380
implicitHeight: Math.max(1, column.implicitHeight)
@@ -41,19 +41,24 @@ Scope {
id: card
required property var modelData
+ Layout.fillWidth: true
+ implicitHeight: cardLayout.implicitHeight + 20
+
+ radius: 12
+ color: Config.colors.bgDark
+ border.color: hoverArea.containsMouse ? Config.colors.purple : "transparent"
+ border.width: 1
+
+ Behavior on border.color { ColorAnimation { duration: 150 } }
+
Timer {
- running: card.modelData.urgency !== NotificationUrgency.Critical
+ id: dismissTimer
+ running: card.modelData.urgency !== NotificationUrgency.Critical && !hoverArea.containsMouse
interval: Config.notifications.timeout
repeat: false
onTriggered: card.modelData.dismiss()
}
- Layout.fillWidth: true
- implicitHeight: layout.implicitHeight + 20
-
- radius: 12
- color: Config.colors.bgDark
-
Rectangle {
anchors.left: parent.left
anchors.top: parent.top
@@ -65,57 +70,97 @@ Scope {
: Config.colors.purple
}
- RowLayout {
- id: layout
+ ColumnLayout {
+ id: cardLayout
anchors.fill: parent
anchors.margins: 10
anchors.leftMargin: 18
- spacing: 10
-
- Image {
- Layout.preferredWidth: 36
- Layout.preferredHeight: 36
- Layout.alignment: Qt.AlignTop
- fillMode: Image.PreserveAspectFit
- visible: source.toString() !== ""
- source: card.modelData.image || card.modelData.appIcon || ""
- }
+ spacing: 8
- ColumnLayout {
+ RowLayout {
Layout.fillWidth: true
- spacing: 2
-
- Text {
- Layout.fillWidth: true
- text: card.modelData.summary
- color: Config.colors.cyan
-
- font.family: Config.bar.fontFamily
- font.pixelSize: Config.bar.fontSize
- font.bold: true
-
- elide: Text.ElideRight
+ spacing: 10
+
+ Image {
+ Layout.preferredWidth: 36
+ Layout.preferredHeight: 36
+ Layout.alignment: Qt.AlignTop
+ fillMode: Image.PreserveAspectFit
+ visible: source.toString() !== ""
+ source: card.modelData.image || card.modelData.appIcon || ""
}
- Text {
+ ColumnLayout {
Layout.fillWidth: true
- visible: text !== ""
- text: card.modelData.body
- color: Config.colors.fg
-
- font.family: Config.bar.fontFamily
- font.pixelSize: Config.bar.fontSize - 1
+ spacing: 2
+
+ Text {
+ Layout.fillWidth: true
+ text: card.modelData.summary
+ color: Config.colors.cyan
+ font.family: Config.bar.fontFamily
+ font.pixelSize: Config.bar.fontSize
+ font.bold: true
+ elide: Text.ElideRight
+ }
+
+ Text {
+ Layout.fillWidth: true
+ visible: text !== ""
+ text: card.modelData.body
+ color: Config.colors.fg
+ font.family: Config.bar.fontFamily
+ font.pixelSize: Config.bar.fontSize - 1
+ wrapMode: Text.WordWrap
+ maximumLineCount: 4
+ elide: Text.ElideRight
+ }
+ }
+ }
- wrapMode: Text.WordWrap
+ RowLayout {
+ Layout.fillWidth: true
+ visible: card.modelData.actions.length > 0
+ spacing: 8
+
+ Repeater {
+ model: card.modelData.actions
+
+ delegate: Rectangle {
+ required property var modelData
+
+ Layout.fillWidth: true
+ Layout.preferredHeight: 26
+ radius: 6
+ color: actionArea.containsMouse ? Config.colors.purple : Qt.rgba(1, 1, 1, 0.05)
+
+ Text {
+ anchors.centerIn: parent
+ text: parent.modelData.text
+ color: Config.colors.fg
+ font.family: Config.bar.fontFamily
+ font.pixelSize: Config.bar.fontSize - 2
+ }
+
+ MouseArea {
+ id: actionArea
+ anchors.fill: parent
+ hoverEnabled: true
+ cursorShape: Qt.PointingHandCursor
+ onClicked: card.modelData.invokeAction(parent.modelData.identifier)
+ }
+ }
}
}
}
MouseArea {
+ id: hoverArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: card.modelData.dismiss()
+ z: -1
}
}
}
diff --git a/home-configuration/default.nix b/home-configuration/default.nix
index 3f33732..1418133 100644
--- a/home-configuration/default.nix
+++ b/home-configuration/default.nix
@@ -95,9 +95,29 @@ in
pkgs.libnotify
pkgs.kdePackages.kdenlive
pkgs.obs-cmd
- pkgs.gedit
pkgs.feishin
pkgs.alsa-utils
pkgs.gnome-themes-extra
+ pkgs.sxhkd
+ pkgs.hsetroot
];
+
+ systemd.user.services.polkit-gnome-authentication-agent-1 = {
+ Unit = {
+ Description = "polkit-gnome-authentication-agent-1";
+ After = [ "graphical-session.target" ];
+ Wants = [ "graphical-session.target" ];
+ PartOf = [ "graphical-session.target" ];
+ };
+ Service = {
+ Type = "simple";
+ ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
+ Restart = "on-failure";
+ RestartSec = 1;
+ TimeoutStopSec = 10;
+ };
+ Install = {
+ WantedBy = [ "graphical-session.target" ];
+ };
+ };
}
diff --git a/home-configuration/managed/waybar/default.nix b/home-configuration/managed/waybar/default.nix
index e72c78b..cba2a19 100644
--- a/home-configuration/managed/waybar/default.nix
+++ b/home-configuration/managed/waybar/default.nix
@@ -4,7 +4,7 @@
programs.waybar.package = pkgs.waybar;
programs.waybar.systemd.enable = false;
programs.waybar.settings.mainBar.layer = "top";
- programs.waybar.settings.mainBar.position = "top";
+ programs.waybar.settings.mainBar.position = "bottom";
programs.waybar.settings.mainBar.spacing = "0";
programs.waybar.settings.mainBar.height = 35;
programs.waybar.settings.mainBar.border-radius = 25;
diff --git a/home-configuration/managed/waybar/style.nix b/home-configuration/managed/waybar/style.nix
index 83bff23..bd461e9 100644
--- a/home-configuration/managed/waybar/style.nix
+++ b/home-configuration/managed/waybar/style.nix
@@ -5,16 +5,13 @@
font-family: "Iosevka Nerd Font";
font-size: 14px;
}
-
window#waybar {
background-color: #000000;
margin: 0;
}
-
#workspaces {
- margin: 8px 0 4px 8px;
+ margin: 6px 0 6px 8px;
}
-
#workspaces button {
color: #89b4fa;
background: #16161a;
@@ -25,7 +22,6 @@
font-weight: bold;
transition: all 0.3s ease;
}
-
#workspaces button.active {
color: #09090F;
margin-right: 6px;
@@ -34,62 +30,56 @@
background-size: 200% 200%;
animation: shift 6s ease infinite;
}
-
@keyframes shift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
-
#window {
color: #d3869b;
- margin: 8px 8px 4px 8px;
+ margin: 6px 8px 6px 8px;
border-radius: 12px;
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
padding: 4px 12px;
font-weight: bold;
}
-
#cpu,
#network,
#wireplumber,
#battery {
color: #d3869b;
background: #16161a;
- margin: 8px 8px 4px 0;
+ margin: 6px 8px 6px 0;
border-radius: 12px;
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
padding: 4px 12px;
font-weight: bold;
}
-
#clock {
background: linear-gradient(135deg, #cdd6f4, #f38ba8);
background-size: 200% 200%;
animation: shift 6s ease infinite;
- margin: 8px 8px 4px 0;
+ margin: 6px 8px 6px 0;
border-radius: 12px;
padding: 4px 12px;
color: #09090F;
font-weight: bold;
text-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
-
#taskbar {
background: #16161a;
color: #89b4fa;
- margin: 8px 8px 4px 0;
+ margin: 6px 8px 6px 0;
border-radius: 12px;
min-width: 38px;
padding: 3px;
font-weight: bold;
}
-
#custom-distro-icon {
background: radial-gradient(circle, rgba(203,166,247,1) 0%, rgba(193,168,247,1) 12%, rgba(249,226,175,1) 19%, rgba(189,169,247,1) 20%, rgba(182,171,247,1) 24%, rgba(198,255,194,1) 36%, rgba(177,172,247,1) 37%, rgba(170,173,248,1) 48%, rgba(255,255,255,1) 52%, rgba(166,174,248,1) 52%, rgba(160,175,248,1) 59%, rgba(148,226,213,1) 66%, rgba(155,176,248,1) 67%, rgba(152,177,248,1) 68%, rgba(205,214,244,1) 77%, rgba(148,178,249,1) 78%, rgba(144,179,250,1) 82%, rgba(180,190,254,1) 83%, rgba(141,179,250,1) 90%, rgba(137,180,250,1) 100%);
background-size: 400% 400%;
color: #09090F;
- margin: 8px 4px 4px 8px;
+ margin: 6px 4px 6px 8px;
border-radius: 12px;
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
padding: 0;
diff --git a/home-configuration/managed/xserver/default.nix b/home-configuration/managed/xserver/default.nix
index e5889de..79502d8 100644
--- a/home-configuration/managed/xserver/default.nix
+++ b/home-configuration/managed/xserver/default.nix
@@ -1,7 +1,5 @@
-{ pkgs, ... }:
+{ ... }:
{
- xsession.windowManager.bspwm.enable = true;
- xsession.windowManager.bspwm.package = pkgs.bspwm-unstable;
xsession.windowManager.bspwm.settings = {
border_width = 2;
focused_border_color = "#383838";
@@ -18,36 +16,37 @@
bottom_padding = 0;
};
xsession.windowManager.bspwm.extraConfig = ''
- pidb() {
- pgrep -x "$1" >/dev/null 2>&1
- }
+ pidb() {
+ pgrep -x "$1" >/dev/null 2>&1
+ }
- run() {
- proc="$1"
- cmd="$2"
+ run() {
+ proc="$1"
+ cmd="$2"
- if ! pidb "$proc"; then
- sh -c "$cmd" &
- fi
- }
+ if ! pidb "$proc"; then
+ sh -c "$cmd" &
+ fi
+ }
- ### }}}
+ ### }}}
- ### {{{ rerun/start processes
+ ### {{{ rerun/start processes
- # piss
- run "piss" "piss"
+ # piss
+ #run "piss" "piss"
+ sxhkd
- # picom
- run "picom" "picom --backend glx"
+ # picom
+ run "picom" "picom --backend glx"
- # dunst
- # run "dunst" "dunst"
+ # dunst
+ # run "dunst" "dunst"
- # bspbar
- # run "bspbar" "bspbar"
+ # bspbar
+ # run "bspbar" "bspbar"
- xwallpaper --center "$HOME/Wallpapers/nature2art.png"
+ xwallpaper --center "$HOME/Wallpapers/nature2art.png"
'';
}