a metric butt ton of updates that idk....

This commit is contained in:
Chris Cochrun 2022-12-08 12:15:21 -06:00
parent 972aec6926
commit fc5a0acaec
18 changed files with 486 additions and 405 deletions

View file

@ -183,7 +183,7 @@ services.xserver = {
displayManager = { displayManager = {
startx.enable = true; startx.enable = true;
sddm = { sddm = {
enable = true; enable = false;
}; };
session = [ session = [
{ {
@ -361,6 +361,7 @@ rsync
jq jq
ripgrep ripgrep
fd fd
socat
ffmpeg-full ffmpeg-full
imagemagick imagemagick
libheif libheif
@ -420,6 +421,7 @@ libnotify
rofi-wayland rofi-wayland
wofi wofi
waybar waybar
tridactyl-native
eww-wayland eww-wayland
wlrctl wlrctl
hyprpaper hyprpaper
@ -605,6 +607,7 @@ services.emacs = {
no-littering no-littering
tree-sitter tree-sitter
tree-sitter-langs tree-sitter-langs
rustic
evil evil
evil-collection evil-collection
general general
@ -2272,6 +2275,8 @@ I also use home-manager for managing dotfiles. This means that everything is con
}; };
}; };
home.file.".mozilla/native-messaging-hosts".source = "/run/current-system/sw/lib/mozilla/native-messaging-hosts";
home.file.".mozilla/firefox/nw77o6yc.default/chrome" = { home.file.".mozilla/firefox/nw77o6yc.default/chrome" = {
source = ../firefox/chrome; source = ../firefox/chrome;
recursive = true; recursive = true;
@ -2296,9 +2301,7 @@ I also use home-manager for managing dotfiles. This means that everything is con
source = ../fish/functions; source = ../fish/functions;
}; };
home.file.".config/hypr" = { home.file.".config/hypr".source = config.lib.file.mkOutOfStoreSymlink ../hypr;
source = ../hypr;
};
home.file.".config/dunst" = { home.file.".config/dunst" = {
source = ../dunst; source = ../dunst;
@ -2491,8 +2494,10 @@ I also use home-manager for managing dotfiles. This means that everything is con
After = [ "graphical-session.target" ]; After = [ "graphical-session.target" ];
# PartOf = [ "plasma-workspace.target" ]; # PartOf = [ "plasma-workspace.target" ];
}; };
Service = {
# Install = { WantedBy = [ "plasma-workspace.target" ]; }; Environment = ["PATH=/etc/profiles/per-user/chris/bin"
"WAYLAND_DISPLAY=wayland-1"];
};
}; };
}; };

View file

@ -3,7 +3,7 @@ Created by saimoom **/
*{ *{
all: unset; all: unset;
font-family: feather; font-family: feather;
font-family: mononoki Nerd Font; font-family: VictorMono Nerd Font;
} }
$background: rgba(00, 00, 00, 0.7); $background: rgba(00, 00, 00, 0.7);
@ -20,10 +20,31 @@ $purple: #C574DD;
$teal: #79E6F3; $teal: #79E6F3;
$white: #FDFDFD; $white: #FDFDFD;
$base00: #282a36;
$base01: #34353e;
$base02: #43454f;
$base03: #78787e;
$base04: #a5a5a9;
$base05: #e2e4e5;
$base06: #eff0eb;
$base07: #f1f1f0;
$base08: #ff5c57;
$base09: #ff9f43;
$base0A: #f3f99d;
$base0B: #5af78e;
$base0C: #9aedfe;
$base0D: #57c7ff;
$base0E: #ff6ac1;
$base0F: #b2643c;
$basetransparent: rgba(40, 42, 54, 0.0);
$backtransparent: rgba(40, 42, 54, 0.7);
/** General **/ /** General **/
.bar_class { .bar_class {
background-color: $background; background-color: $backtransparent;
border-radius: 20px 20px 20px 20px; border-radius: 20px 20px 20px 20px;
box-shadow: 2px 2px 5px 5px #101010;
margin: 8px 18px 13px 18px;
} }
.module { .module {
margin: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;
@ -31,9 +52,12 @@ $white: #FDFDFD;
} }
.side{ .side{
background-color: $background; background-color: $backtransparent;
border-width: 0px; border-width: 0px;
padding: 0px 30px 0px 30px; padding: 30px 30px 0px 30px;
border-radius: 20px 20px 20px 20px;
box-shadow: 2px 2px 5px 5px #101010;
margin: 8px 18px 13px 18px;
} }
.center_modules { .center_modules {
@ -43,7 +67,7 @@ $white: #FDFDFD;
/** tooltip!! **/ /** tooltip!! **/
tooltip.background { tooltip.background {
background-color: $background; background-color: $backtransparent;
font-size: 18; font-size: 18;
border-radius: 10px; border-radius: 10px;
color: $white; color: $white;
@ -57,34 +81,34 @@ tooltip label {
/** Widgets **/ /** Widgets **/
.clock_time_class, .clock_minute_class { .clock_time_class, .clock_minute_class {
font-size: 28; font-size: 16;
} }
.clock_date_class { .clock_date_class {
font-size: 24; font-size: 16;
margin: 0px 20px 0px -1px; margin: 0px 20px 0px -1px;
color: $red; color: $base08;
} }
.clock_time_class { .clock_time_class {
color: $white; color: $base0B;
font-weight: bold; font-weight: bold;
margin: 0px 20px 0px 5px; margin: 0px 20px 0px 5px;
} }
.notif_button { .notif_button {
font-size: 28; font-size: 18;
margin: 0px 20px 0px 0px; margin: 2px 20px 0px 0px;
color: $white; color: $base05;
} }
.membar { .membar {
color: $orange; color: $base0A;
background-color: $widget-background; background-color: $base01;
border-radius: 10px; border-radius: 5px;
} }
.batbar { .batbar {
color: $purple; color: $base0E;
background-color: $widget-background; background-color: $widget-background;
border-radius: 10px; border-radius: 5px;
} }
.brightbar trough highlight { .brightbar trough highlight {
background-image: linear-gradient(to right, $orange 30%, #f2cdcd 50%, $orange 100% *50); background-image: linear-gradient(to right, $orange 30%, #f2cdcd 50%, $orange 100% *50);
@ -95,53 +119,54 @@ tooltip label {
border-radius: 10px; border-radius: 10px;
} }
.volume_icon { .volume_icon {
font-size: 22; font-size: 18;
color: $blue; color: $base08;
margin: 0px 10px 0px 10px; margin: 0px 10px 0px 10px;
} }
.module_essid { .module_essid {
font-size: 18; font-size: 18;
color: $blue; color: $base0C;
margin: 0px 10px 0px 0px; margin: 0px 10px 0px 0px;
} }
.module-wif { .module-wif {
font-size: 22; font-size: 18;
color: $blue; color: $base0C;
margin: 0px 10px 0px 5px; margin: 0px 10px 0px 10px;
} }
.iconlauncher { .iconlauncher {
color: $white; color: $white;
font-size: 36px; font-size: 10px;
margin: 0px 10px 0px 15px; margin: 0px 10px 0px 15px;
} }
.iconsearch { .iconsearch {
color: $white; color: $white;
font-size: 24px; font-size: 18px;
} }
.iconmem { .iconmem {
color: $orange; color: $base0A;
} }
.iconbat { .iconbat {
color: $purple; color: $base0B;
} }
.iconbat, .iconmem { .iconbat, .iconmem {
font-size: 15; font-size: 15;
margin: 15px; margin: 10px;
} }
.bright_icon { .bright_icon {
font-size: 22; font-size: 18;
color: $orange; color: $base09;
margin: 0px 10px 0px 10px; margin: 0px 10px 0px 10px;
} }
.separ { .separ {
color: $grey; color: $base03;
font-weight: bold; font-weight: bold;
font-size: 22px; font-size: 24px;
margin: 0px 8px 0px 8px; margin: 0px 8px 0px 8px;
} }
@ -154,6 +179,7 @@ tooltip label {
border-radius: 16px; border-radius: 16px;
margin: 0px 10px 0px 3px; margin: 0px 10px 0px 3px;
} }
.bat_module { .bat_module {
background-color: rgba(00, 00, 00, 0.0); background-color: rgba(00, 00, 00, 0.0);
border-radius: 16px; border-radius: 16px;
@ -161,9 +187,9 @@ tooltip label {
} }
.works { .works {
font-size: 28px; font-size: 22px;
font-weight: normal; font-weight: normal;
margin: 10px 0px 0px 10px; margin: 2px 0px 0px 20px;
background-color: rgba(00, 00, 00, 0.0); background-color: rgba(00, 00, 00, 0.0);
} }
@ -174,23 +200,23 @@ tooltip label {
/* Unoccupied */ /* Unoccupied */
.0 { .0 {
color: $grey; color: $base03;
} }
/* Occupied */ /* Occupied */
.01, .02, .03, .04, .05, .06, .07, .08, .09 { .01, .02, .03, .04, .05, .06, .07, .08, .09 {
color: $white; color: $base05;
} }
/* Focused */ /* Focused */
.011, .022, .033, .044, .055, .066, .077, .088, .099{ .011, .022, .033, .044, .055, .066, .077, .088, .099{
color: $purple; color: $base0D;
} }
// Calendar // Calendar
.cal { .cal {
background-color: $background; background-color: $backtransparent;
font-family: mononoki Nerd Font; font-family: mononoki Nerd Font;
font-size: 18px; font-size: 18px;
font-weight: normal; font-weight: normal;
@ -287,25 +313,26 @@ color: $black;
.app-name { .app-name {
color: $blue; color: $base0D;
font-size : 20px; font-size : 14px;
font-weight : bold; font-weight : bold;
margin : 10px 0px 0px 0px; padding : 4px 0px 0px 0px;
} }
.app-icon { .app-icon {
margin : 8px 10px 0px 0px; margin : 6px 10px 0px 0px;
} }
.app-button { .app-button {
color: $blue; color: $base0D;
font-size : 30px; font-size : 20px;
font-weight : bold; font-weight : bold;
margin : 0px 15px 0px 15px; margin : 0px 15px 0px 15px;
} }
.launcher-icon { .launcher-icon {
margin : 5px -5px 10px 15px; margin : 9px 0px 10px 15px;
} }
.audio-box { .audio-box {
@ -323,7 +350,7 @@ color: $black;
} }
.speaker_text { .speaker_text {
color: $blue; color: $base0D;
font-size : 26px; font-size : 26px;
font-weight : bold; font-weight : bold;
margin: 20px 0px 0px 0px; margin: 20px 0px 0px 0px;
@ -441,7 +468,7 @@ font-family: JetBrainsMono Nerd Font Mono;
} }
.label_temp { .label_temp {
color : $blue; color : $base0D;
font-size : 35px; font-size : 35px;
font-weight : bold; font-weight : bold;
margin : 0px 0px 0px 0px; margin : 0px 0px 0px 0px;
@ -450,13 +477,13 @@ font-family: JetBrainsMono Nerd Font Mono;
} }
.label_stat { .label_stat {
color : $blue; color : $base0D;
font-size : 38px; font-size : 38px;
font-weight : bold; font-weight : bold;
} }
.label_quote { .label_quote {
color : $blue; color : $base0D;
font-size : 18px; font-size : 18px;
padding-bottom: 10px; padding-bottom: 10px;
font-weight : normal; font-weight : normal;
@ -467,8 +494,8 @@ font-family: JetBrainsMono Nerd Font Mono;
background-color: $widget-background; background-color: $widget-background;
padding: 33px 27px 27px 27px; padding: 33px 27px 27px 27px;
border-radius: 12px; border-radius: 12px;
color: $blue; color: $base0D;
font-size : 18px; font-size : 12px;
font-style : italic; font-style : italic;
font-family: Cartograph CF; font-family: Cartograph CF;
box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);}
@ -482,7 +509,7 @@ font-family: JetBrainsMono Nerd Font Mono;
.stats-icon { .stats-icon {
font-size: 23px; font-size: 23px;
color: $blue; color: $base0D;
font-family: JetBrainsMono Nerd Font Mono; font-family: JetBrainsMono Nerd Font Mono;
} }
@ -581,58 +608,53 @@ scale trough {
.notification { .notification {
all: unset; all: unset;
background-color: $widget-background; background-color: $base00;
padding: 20px 25px 20px 17px; padding: 10px 15px 10px 7px;
margin: 0px 15px 0px 15px; margin: 0px 15px 0px 15px;
border-radius: 12px; border-radius: 12px;
border-width: 2px; border-width: 2px;
border-style: solid; border-style: solid;
border-color: $red;} border-color: $base09;}
.notification-header { .notification-header {
all: unset; all: unset;
background-color: $widget-background; background-color: $base00;
padding: 20px 25px 20px 17px; padding: 10px 15px 10px 7px;
margin: 20px 15px 10px 15px; margin: 20px 15px 10px 15px;
border-radius: 12px; border-radius: 12px;
border-width: 2px; border-width: 2px;
border-style: solid; border-style: solid;
border-color: $green;} border-color: $base0A;}
.notification-icon { .notification-icon {
color: $white; color: $white;
font-size: 36px; font-size: 16px;
margin: 0px 20px 0px 10px; margin: 0px 10px 0px 0px;
} }
.notification-appname { .notification-appname {
font-family: "Inter Nerd Font";
font-size: 14px; font-size: 14px;
font-weight: bold; font-weight: bold;
color: $orange; color: $orange;
} }
.notification-summary { .notification-summary {
font-family: "Inter Nerd Font";
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
color: $white; color: $white;
} }
.notification-body { .notification-body {
font-family: "Inter Nerd Font";
font-size: 14px; font-size: 14px;
color: $white; color: $white;
} }
.notification-label { .notification-label {
font-family: "Mononoki Nerd Font";
font-size: 30px; font-size: 30px;
color: $blue; color: $blue;
margin: 0px 50px 0px 0px; margin: 0px 50px 0px 0px;
} }
.notification-action { .notification-action {
font-family: "Mononoki Nerd Font";
font-size: 36px; font-size: 36px;
color: $white; color: $white;
margin: 0px 0px 0px 20px; margin: 0px 0px 0px 20px;

View file

@ -3,13 +3,13 @@
(include "sidebar.yuck") (include "sidebar.yuck")
(include "notifications.yuck") (include "notifications.yuck")
(defpoll clock_time :interval "5s" "date '+\%l\%M \%p'") (defpoll clock_time :interval "5s" "date '+\%l:\%M \%p'")
(defpoll clock_date :interval "1h" "date '+%b %d, %Y'") (defpoll clock_date :interval "1h" "date '+%b %d, %Y'")
(defpoll calendar_day :interval "2h" "date '+%d'") (defpoll calendar_day :interval "2h" "date '+%d'")
(defpoll calendar_year :interval "2h" "date '+%Y'") (defpoll calendar_year :interval "2h" "date '+%Y'")
(defpoll volume_percent :interval "1s" "scripts/sbvol --get") (defpoll volume_percent :interval "1s" "~/bin/getvol | cut -c 1-2")
(defpoll mic_percent :interval "3s" "amixer -D pulse sget Capture | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%' | head -n 1") (defpoll mic_percent :interval "3s" "pamixer --get-volume --default-source")
(defpoll brightness_percent :interval "5s" "light") (defpoll brightness_percent :interval "5s" "scripts/bright")
(defpoll COL_WLAN :interval "1m" "scripts/wifi --COL") (defpoll COL_WLAN :interval "1m" "scripts/wifi --COL")
(defpoll ESSID_WLAN :interval "1m" "scripts/wifi --ESSID") (defpoll ESSID_WLAN :interval "1m" "scripts/wifi --ESSID")
(defpoll WLAN_ICON :interval "1m" "scripts/wifi --ICON") (defpoll WLAN_ICON :interval "1m" "scripts/wifi --ICON")
@ -26,21 +26,6 @@
;; widgets ;; widgets
(defwidget launcher []
(box
:class "launcher_module"
:orientation "h"
(button
:onclick "rofi -no-lazy-grab -show drun -theme ~/.config/hypr/themes/neon/rofi/launcher.rasi &"
(image
:class "launcher-icon"
:path "favicon.ico"
:image-width 36))
(button
:onclick "rofi -show filebrowser &"
:class "iconsearch" "")
))
(defwidget workspaces [] (defwidget workspaces []
(literal (literal
:content workspace)) :content workspace))
@ -59,7 +44,7 @@
(revealer (revealer
:transition "slideright" :transition "slideright"
:reveal control_reveal :reveal control_reveal
:duration "350ms" :duration "250ms"
(box (box
:vexpand "false" :vexpand "false"
:hexpand "false" :hexpand "false"
@ -87,14 +72,14 @@
(revealer (revealer
:transition "slideright" :transition "slideright"
:reveal br_reveal :reveal br_reveal
:duration "350ms" :duration "250ms"
(scale :class "brightbar" (scale :class "brightbar"
:value brightness_percent :value brightness_percent
:orientation "h" :orientation "h"
:tooltip "${brightness_percent}%" :tooltip "${brightness_percent}%"
:max 100 :max 100
:min 0 :min 0
:onchange "light -S {}" )) :onchange "brightnessctl s {}%" ))
(label (label
:text "" :text ""
:class "bright_icon" :class "bright_icon"
@ -112,7 +97,7 @@
(revealer (revealer
:transition "slideright" :transition "slideright"
:reveal vol_reveal :reveal vol_reveal
:duration "350ms" :duration "250ms"
(scale (scale
:class "volbar" :class "volbar"
:value volume_percent :value volume_percent
@ -120,9 +105,9 @@
:tooltip "${volume_percent}%" :tooltip "${volume_percent}%"
:max 100 :max 100
:min 0 :min 0
:onchange "amixer -D pulse sset Master {}%" )) :onchange "pamixer --set-volume {}" ))
(button (button
:onclick "scripts/pop audio_ctl" :onclick "scripts/pop audio"
:class "volume_icon" :class "volume_icon"
"墳")))) "墳"))))
@ -137,11 +122,10 @@
(revealer (revealer
:transition "slideright" :transition "slideright"
:reveal wifi_rev :reveal wifi_rev
:duration "350ms" :duration "250ms"
(label (label
:class "module_essid" :class "module_essid"
:text ESSID_WLAN :text ESSID_WLAN))
))
(button (button
:class "module-wif" :class "module-wif"
:onclick "networkmanager_dmenu" :onclick "networkmanager_dmenu"
@ -153,13 +137,13 @@
:vexpand "false" :vexpand "false"
:hexpand "false" :hexpand "false"
(circular-progress (circular-progress
:value {EWW_BATTERY["BAT0"].capacity} :value {EWW_BATTERY["BAT1"].capacity}
:class "batbar" :class "batbar"
:thickness 4 :thickness 4
(button (button
:onclick "scripts/pop system" :onclick "scripts/pop system"
:class "iconbat" :class "iconbat"
:tooltip "battery on ${EWW_BATTERY["BAT0"].capacity}%" :tooltip "${EWW_BATTERY["BAT1"].capacity}% battery left"
" ")))) " "))))
(defwidget mem [] (defwidget mem []
@ -191,7 +175,7 @@
:class "clock_time_class" ) :class "clock_time_class" )
(revealer :transition "slideleft" (revealer :transition "slideleft"
:reveal time_rev :reveal time_rev
:duration "350ms" :duration "250ms"
(button (button
:class "clock_date_class" :class "clock_date_class"
:onclick "scripts/pop calendar" clock_date))))) :onclick "scripts/pop calendar" clock_date)))))
@ -230,8 +214,6 @@
:space-evenly false :space-evenly false
:halign "start" :halign "start"
:class "left_modules" :class "left_modules"
(launcher)
(sep)
(workspaces))) (workspaces)))
(defwidget center [] (defwidget center []
(box (box
@ -254,8 +236,7 @@
(mem) (mem)
(sep) (sep)
(clock_module) (clock_module)
(notif_button) (notif_button)))
))
(defwidget bar_layout [] (defwidget bar_layout []
(centerbox (centerbox
@ -270,9 +251,9 @@
:exclusive true :exclusive true
:geometry (geometry :geometry (geometry
:x "15px" :x "15px"
:y "10px" :y "3px"
:width "98%" :width "100%"
:height "20px" :height "0px"
:anchor "bottom center") :anchor "bottom center")
:stacking "fg" :stacking "fg"
:windowtype "dock" :windowtype "dock"
@ -403,7 +384,7 @@
:orientation "h" :orientation "h"
:space-evenly "false" :space-evenly "false"
(circular-progress (circular-progress
:value {EWW_BATTERY["BAT0"].capacity} :value {EWW_BATTERY["BAT1"].capacity}
:class "sys_bat" :class "sys_bat"
:thickness 9 :thickness 9
(label :text "" (label :text ""
@ -423,12 +404,12 @@
:limit-width 9 :limit-width 9
:wrap false) :wrap false)
(label (label
:text "${EWW_BATTERY["BAT0"].capacity}%" :text "${EWW_BATTERY["BAT1"].capacity}%"
:halign "start" :halign "start"
:class "sys_text_bat_sub" :class "sys_text_bat_sub"
:limit-width 22 :limit-width 22
:wrap false) :wrap false)
(label :text "${EWW_BATTERY["BAT0"].status}" (label :text "${EWW_BATTERY["BAT1"].status}"
:halign "start" :halign "start"
:class "sys_text_bat_sub" :class "sys_text_bat_sub"
:limit-width 22 :limit-width 22
@ -481,11 +462,10 @@
:focusable "false" :focusable "false"
:screen 1 :screen 1
:monitor 0 :monitor 0
:geometry :geometry (geometry
(geometry
:x "20" :x "20"
:y "7%" :y "0"
:anchor "top right" :anchor "bottom right"
:width "290px" :width "290px"
:height "120px") :height "120px")
(system)) (system))
@ -509,8 +489,8 @@
:monitor 0 :monitor 0
:geometry (geometry :geometry (geometry
:x "20" :x "20"
:y "7%" :y "0"
:anchor "top right" :anchor "bottom right"
:width "270px" :width "270px"
:height "60px") :height "60px")
(cal)) (cal))

BIN
eww/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

View file

@ -2,7 +2,7 @@
:geometry (geometry :x "0px" :geometry (geometry :x "0px"
:y "0px" :y "0px"
:width "1px" :width "1px"
:height "93%" :height "63%"
:anchor "bottom right") :anchor "bottom right")
:stacking "fg" :stacking "fg"
:monitor "0" :monitor "0"
@ -15,7 +15,7 @@
(revealer (revealer
:transition "slideleft" :transition "slideleft"
:reveal rightside :reveal rightside
:duration "550ms" :duration "250ms"
(rightside)))) (rightside))))
(defvar rightside false) (defvar rightside false)
@ -53,7 +53,7 @@
(scroll (scroll
:vscroll "true" :vscroll "true"
:hscroll "false" :hscroll "false"
:height 840 :height 740
:width 200 :width 200
(literal (literal
:content notifications) :content notifications)

37
eww/scripts/appname Executable file
View file

@ -0,0 +1,37 @@
#!/usr/bin/env bash
#define icons for workspaces 1-9
#icontheme=$(geticons -U)
icontheme=$(grep "gtk-icon-theme-name" "$HOME"/.config/gtk-3.0/settings.ini | cut --delimiter="=" -f 2)
workspaces() {
if [[ ${1:0:12} == "activewindow" ]]; then #set focused workspace
string=${1:14}
class="${string/,*/}"
export title=${string/,/, }
[[ $title == ", " ]] && unset title
export iconpath=$(geticons "$class" -s 16 -c 1 -t "$icontheme" | head -n 1)
fi
}
module() {
#output eww widget
echo "(box \
:orientation \"h\" \
:halign \"start\" \
:space-evenly false \
(image \
:class \"app-icon\" \
:path \"$iconpath\" \
:image-width \"18\") \
(label \
:class \"app-name\" \
:limit-width \"35\" \
:text \"$title\" \
:tooltip \"$title\"))"
}
socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r event; do
workspaces "$event"
module
done

3
eww/scripts/bright Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
brightnessctl | rg Current | awk '{print $4}' | sed 's/(\(.*\)%)/\1/'

55
eww/scripts/notifications Executable file
View file

@ -0,0 +1,55 @@
#!/usr/bin/env bash
tmp=/tmp/dunst-history.json
notif() {
export ids=($(dunstctl history | jq '.data[] | .[].id.data'))
printf "\n (box \
:orientation \"v\" \
:space-evenly \"false\" \
:spacing \"20\" \
:halign \"start\" "
for id in "${ids[@]}"; do
mapfile -t notif < <(jq -r ".data[] | .[] | select(.id.data == $id) | .appname.data, .icon_path.data, .summary.data, .body.data" "$tmp" | sed -r '/^\s*$/d' | sed -e 's/\%/ percent/g')
printf "(eventbox :onclick \"dunstctl history-pop $id && dunstctl action 0 && dunstctl close\" \
(box \
:class \"notification\" \
:orientation \"h\" \
:width 300 \
:space-evenly \"false\" \
(image \
:class \"notification-icon\" \
:path \"${notif[1]}\" \
:image-height 50 \
:image-width 100) \
(box \
:orientation \"v\" \
:space-evenly \"false\" \
:valign \"left\" \
:width 300 \
:spacing 10 \
(label \
:xalign 0 \
:wrap "true" \
:class \"notification-appname\" \
:text \"${notif[0]}\") \
(label \
:xalign 0 \
:wrap "true" \
:class \"notification-summary\" \
:text \"${notif[2]}\") \
(label \
:xalign 0 \
:wrap "true" \
:class \"notification-body\" \
:text \"${notif[3]}\"))))"
done
printf ") \n"
}
notif
tail --follow $tmp 2> /dev/null | grep --line-buffered "aa{sv}" | while read -r; do
notif
done

View file

@ -1,20 +1,20 @@
#!/bin/bash #!/usr/bin/env bash
calendar() { calendar() {
LOCK_FILE="$HOME/.cache/eww-calendar.lock" LOCK_FILE="$HOME/.cache/eww-calendar.lock"
EWW_BIN="$HOME/.local/bin/eww/eww" EWW_BIN="$HOME/.local/bin/eww/eww"
run() { run() {
${EWW_BIN} -c $HOME/.config/eww/bar open calendar eww open calendar
} }
# Open widgets # Open widgets
if [[ ! -f "$LOCK_FILE" ]]; then if [[ ! -f "$LOCK_FILE" ]]; then
${EWW_BIN} -c $HOME/.config/eww/bar close system music_win audio_ctl eww close system music_win audio_ctl
touch "$LOCK_FILE" touch "$LOCK_FILE"
run && echo "ok good!" run && echo "ok good!"
else else
${EWW_BIN} -c $HOME/.config/eww/bar close calendar eww close calendar
rm "$LOCK_FILE" && echo "closed" rm "$LOCK_FILE" && echo "closed"
fi fi
} }
@ -25,16 +25,16 @@ LOCK_FILE_MEM="$HOME/.cache/eww-system.lock"
EWW_BIN="$HOME/.local/bin/eww/eww" EWW_BIN="$HOME/.local/bin/eww/eww"
run() { run() {
${EWW_BIN} -c $HOME/.config/eww/bar open system eww open system
} }
# Open widgets # Open widgets
if [[ ! -f "$LOCK_FILE_MEM" ]]; then if [[ ! -f "$LOCK_FILE_MEM" ]]; then
${EWW_BIN} -c $HOME/.config/eww/bar close calendar music_win audio_ctl eww close calendar music_win audio_ctl
touch "$LOCK_FILE_MEM" touch "$LOCK_FILE_MEM"
run && echo "ok good!" run && echo "ok good!"
else else
${EWW_BIN} -c $HOME/.config/eww/bar close system eww close system
rm "$LOCK_FILE_MEM" && echo "closed" rm "$LOCK_FILE_MEM" && echo "closed"
fi fi
} }
@ -45,16 +45,16 @@ LOCK_FILE_SONG="$HOME/.cache/eww-song.lock"
EWW_BIN="$HOME/.local/bin/eww/eww" EWW_BIN="$HOME/.local/bin/eww/eww"
run() { run() {
${EWW_BIN} -c $HOME/.config/eww/bar open music_win eww open music_win
} }
# Open widgets # Open widgets
if [[ ! -f "$LOCK_FILE_SONG" ]]; then if [[ ! -f "$LOCK_FILE_SONG" ]]; then
${EWW_BIN} -c $HOME/.config/eww/bar close system calendar eww close system calendar
touch "$LOCK_FILE_SONG" touch "$LOCK_FILE_SONG"
run && echo "ok good!" run && echo "ok good!"
else else
${EWW_BIN} -c $HOME/.config/eww/bar close music_win eww close music_win
rm "$LOCK_FILE_SONG" && echo "closed" rm "$LOCK_FILE_SONG" && echo "closed"
fi fi
} }
@ -66,16 +66,16 @@ LOCK_FILE_AUDIO="$HOME/.cache/eww-audio.lock"
EWW_BIN="$HOME/.local/bin/eww/eww" EWW_BIN="$HOME/.local/bin/eww/eww"
run() { run() {
${EWW_BIN} -c $HOME/.config/eww/bar open audio_ctl eww open audio_ctl
} }
# Open widgets # Open widgets
if [[ ! -f "$LOCK_FILE_AUDIO" ]]; then if [[ ! -f "$LOCK_FILE_AUDIO" ]]; then
${EWW_BIN} -c $HOME/.config/eww/bar close system calendar music eww close system calendar music
touch "$LOCK_FILE_AUDIO" touch "$LOCK_FILE_AUDIO"
run && echo "ok good!" run && echo "ok good!"
else else
${EWW_BIN} -c $HOME/.config/eww/bar close audio_ctl eww close audio_ctl
rm "$LOCK_FILE_AUDIO" && echo "closed" rm "$LOCK_FILE_AUDIO" && echo "closed"
fi fi
} }

View file

@ -1,26 +1,22 @@
#!/bin/bash #!/bin/sh
status=$(nmcli g | grep -oE "disconnected") status=$(nmcli g | grep -oE "disconnected")
essid=$(nmcli c | grep wlp2s0 | awk '{print ($1)}') essid=$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)
if [ $status ] ; then if [ $status ] ; then
icon="" icon=""
text="" text=""
col="#575268" col="#575268"
else else
icon="" icon=""
text="${essid}" text="${essid}"
col="#a1bdce" col="#a1bdce"
fi fi
case $1 in
if [[ "$1" == "--COL" ]]; then --COL) echo $col;;
echo $col --ESSID) echo $text;;
elif [[ "$1" == "--ESSID" ]]; then --ICON) echo $icon;;
echo $text esac
elif [[ "$1" == "--ICON" ]]; then
echo $icon
fi

View file

@ -1,56 +1,72 @@
#!/bin/sh #!/usr/bin/env bash
workspaces() {
ws1="1" #define icons for workspaces 1-9
ws2="2" ic=(0     輸  " " " " )
ws3="3"
ws4="4"
ws5="5"
ws6="6"
# Unoccupied #initial check for occupied workspaces
un="0" for num in $(hyprctl workspaces | grep ID | awk '{print $3}'); do
export o"$num"="$num"
# check if Occupied done
o1=$(bspc query -D -d .occupied --names | grep "$ws1" )
o2=$(bspc query -D -d .occupied --names | grep "$ws2" ) #initial check for focused workspace
o3=$(bspc query -D -d .occupied --names | grep "$ws3" ) for num in $(hyprctl monitors | grep -B 4 "focused: yes" | awk 'NR==1{print $3}'); do
o4=$(bspc query -D -d .occupied --names | grep "$ws4" ) export f"$num"="$num"
o5=$(bspc query -D -d .occupied --names | grep "$ws5" ) export fnum=f"$num"
o6=$(bspc query -D -d .occupied --names | grep "$ws6" ) export mon=$(hyprctl monitors | grep -B 2 "\($num\)" | awk 'NR==1{print $2}')
done
# check if Focused
f1=$(bspc query -D -d focused --names | grep "$ws1" ) workspaces() {
f2=$(bspc query -D -d focused --names | grep "$ws2" ) if [[ ${1:0:9} == "workspace" ]] && [[ ${1:11} != "special" ]]; then #set focused workspace
f3=$(bspc query -D -d focused --names | grep "$ws3" ) unset -v "$fnum"
f4=$(bspc query -D -d focused --names | grep "$ws4" ) num=${1:11}
f5=$(bspc query -D -d focused --names | grep "$ws5" ) export f"$num"="$num"
f6=$(bspc query -D -d focused --names | grep "$ws6" ) export fnum=f"$num"
ic_1="" elif [[ ${1:0:10} == "focusedmon" ]]; then #set focused workspace following monitor focus change
ic_2="" unset -v "$fnum"
ic_3="" string=${1:12}
ic_4="" num=${string##*,}
ic_5="" export mon=${string/,*/}
ic_6="" export f"$num"="$num"
if [ $f1 ]; then export fnum=f"$num"
ic_1=""
elif [ $f2 ]; then elif [[ ${1:0:13} == "moveworkspace" ]] && [[ ${1##*,} == "$mon" ]]; then #Set focused workspace following swapactiveworkspace
ic_2="" unset -v "$fnum"
elif [ $f3 ]; then string=${1:15}
ic_3="" num=${string/,*/}
elif [ $f4 ]; then export f"$num"="$num"
ic_4="" export fnum=f"$num"
elif [ $f5 ]; then
ic_5="" elif [[ ${1:0:15} == "createworkspace" ]]; then #set Occupied workspace
elif [ $f6 ]; then num=${1:17}
ic_6="" export o"$num"="$num"
fi export onum=o"$num"
echo "(box :class \"works\" :orientation \"h\" :spacing 5 :space-evenly \"false\" (button :onclick \"bspc desktop -f $ws1\" :class \"$un$o1$f1\" \"$ic_1\") (button :onclick \"bspc desktop -f $ws2\" :class \"$un$o2$f2\" \"$ic_2\") (button :onclick \"bspc desktop -f $ws3\" :class \"$un$o3$f3\" \"$ic_3\") (button :onclick \"bspc desktop -f $ws4\" :class \"$un$o4$f4\" \"$ic_4\") (button :onclick \"bspc desktop -f $ws5\" :class \"$un$o5$f5\" \"$ic_5\") (button :onclick \"bspc desktop -f $ws6\" :class \"$un$o6$f6\" \"$ic_6\"))" elif [[ ${1:0:16} == "destroyworkspace" ]]; then #unset unoccupied workspace
num=${1:18}
} unset -v o"$num"
workspaces fi
bspc subscribe desktop node_transfer | while read -r _ ; do }
workspaces module() {
#output eww widget
echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs hyprctl dispatch workspace\" \
(box :class \"works\" :orientation \"h\" :spacing 5 :space-evenly \"false\" :valign \"center\" \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 1\'\" :onrightclick \"hyprctl dispatch workspace 1 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o1$f1\" \"${ic[1]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 2\'\" :onrightclick \"hyprctl dispatch workspace 2 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o2$f2\" \"${ic[2]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 3\'\" :onrightclick \"hyprctl dispatch workspace 3 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o3$f3\" \"${ic[3]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 4\'\" :onrightclick \"hyprctl dispatch workspace 4 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o4$f4\" \"${ic[4]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 5\'\" :onrightclick \"hyprctl dispatch workspace 5 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o5$f5\" \"${ic[5]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 6\'\" :onrightclick \"hyprctl dispatch workspace 6 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o6$f6\" \"${ic[6]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 7\'\" :onrightclick \"hyprctl dispatch workspace 7 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o7$f7\" \"${ic[7]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 8\'\" :onrightclick \"hyprctl dispatch workspace 8 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o8$f8\" \"${ic[8]}\") \
(button :onclick \"hyprctl dispatch exec \'~/.config/hypr/themes/neon/scripts/workspace 9\'\" :onrightclick \"hyprctl dispatch workspace 9 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o9$f9\" \"${ic[9]}\") \
)\
)"
}
module
socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r event; do
workspaces "$event"
module
done done

View file

@ -1,8 +1,8 @@
(defwindow sidebar (defwindow sidebar
:geometry (geometry :x "0px" :geometry (geometry :x "0px"
:y "0px" :y "10px"
:width "1px" :width "1px"
:height "1024" :height "724"
:anchor "bottom left") :anchor "bottom left")
:stacking "fg" :stacking "fg"
:monitor "0" :monitor "0"
@ -10,14 +10,16 @@
(defwidget sidebar [] (defwidget sidebar []
(eventbox (eventbox
:class "side_class"
:halign "start" :halign "start"
:onhover "${EWW_CMD} update side=true" :onhover "${EWW_CMD} update side=true"
:onhoverlost "${EWW_CMD} update side=false" :onhoverlost "${EWW_CMD} update side=false"
(revealer (revealer
:transition "slideright" :transition "slideright"
:reveal side :reveal side
:duration "550ms" :duration "250ms"
(side)))) (side))))
(defvar side false) (defvar side false)
;; background ;; background
@ -30,7 +32,6 @@
:halign "start" :halign "start"
(fetch) (fetch)
(top) (top)
(music-side)
(system-side) (system-side)
(tray)) (tray))
) )
@ -41,53 +42,9 @@
:space-evenly "false" :space-evenly "false"
:spacing "30" :spacing "30"
:halign "center" :halign "center"
(date) (date))
(weather))
) )
;; Music Widgets
(defwidget music-side []
(box
:class "music-player"
:orientation "h"
:space-evenly "false"
:spacing 15
:halign "center"
:valign "start"
:hexpand "true"
:width ""
(box
:class "album_art"
:style "background-image: url('${art}');")
(box
:orientation "v"
:space-evenly "false"
:valign "center"
:halign "center"
:spacing 10
(label
:class "song"
:limit-width 15
:text title)
(label
:class "artist"
:limit-width 15
:text artist)
(box
:orientation "h"
:space-evenly "false"
:valign "center"
:halign "center"
:spacing 25
(button :class "btn_prev" :onclick "scripts/music previous" "玲")
(button :class "btn_play" :onclick "scripts/music toggle" playpause)
(button :class "btn_next" :onclick "scripts/music next" "怜")))))
(defpoll art :interval "1s" "scripts/music coverloc")
(defpoll title :interval "1s" "scripts/music title")
(defpoll artist :interval "1s" "scripts/music artist")
(defpoll playpause :interval "1s" "scripts/music statusicon")
;; weather ;; weather
(defwidget weather [] (defwidget weather []
(box (box
@ -187,22 +144,22 @@
:value {(EWW_DISK["/"].used / EWW_DISK["/"].total) * 100} :value {(EWW_DISK["/"].used / EWW_DISK["/"].total) * 100}
:class "scale" :class "scale"
:width 280)) :width 280))
(box ;; (box
:class "stats" ;; :class "stats"
:hexpand "false" ;; :hexpand "false"
:vexpand "false" ;; :vexpand "false"
:space-evenly "false" ;; :space-evenly "false"
(label ;; (label
:tooltip "${gpu}%" ;; :tooltip "${gpu}%"
:class "stats-icon" ;; :class "stats-icon"
:text "調") ;; :text "調")
(scale ;; (scale
:min 0 ;; :min 0
:max 101 ;; :max 101
:active false ;; :active false
:value gpu ;; :value gpu
:class "scale" ;; :class "scale"
:width 280)) ;; :width 280))
(box (box
:class "stats" :class "stats"
:hexpand "false" :hexpand "false"
@ -220,7 +177,7 @@
:value volume_percent :value volume_percent
:class "scale" :class "scale"
:width 280 :width 280
:onchange "amixer sset Master {}%") :onchange "pamixer --set-volume {}")
))) )))
(deflisten gpu "scripts/gpu") (deflisten gpu "scripts/gpu")
@ -237,17 +194,17 @@
:class "poweroff" :class "poweroff"
:halign "center" :halign "center"
:tooltip "Shut Down" :tooltip "Shut Down"
:onclick "kitty poweroff &" "⏻") :onclick "alacritty poweroff &" "⏻")
(button (button
:class "reboot" :class "reboot"
:halign "center" :halign "center"
:tooltip "Reboot" :tooltip "Reboot"
:onclick "kitty reboot &" "") :onclick "alacritty reboot &" "")
(button (button
:class "firmware" :class "firmware"
:halign "center" :halign "center"
:tooltip "Reboot to EFI" :tooltip "Reboot to EFI"
:onclick "kitty systemctl reboot --firmware &" "拉") :onclick "alacritty systemctl reboot --firmware &" "拉")
(button (button
:class "exit" :class "exit"
:halign "center" :halign "center"
@ -257,9 +214,9 @@
:class "restart" :class "restart"
:halign "center" :halign "center"
:tooltip "edit Config" :tooltip "edit Config"
:onclick "footclient nvim ~/.config/hypr/hyprland.conf &" ""))) :onclick "emacsclient ~/.config/hypr/hyprland.conf &" "")))
(defpoll uptime :interval "1m" "uptime -p | sed -e 's/up //;s/ hours,/h/;s/ minutes/m/'") (defpoll uptime :interval "1m" "uptime | awk '{print $3}' | sed 's/,//;s/\(.*\):\(.*\)/\1 h \2 m/")
(defpoll packages :interval "5m" `pacman -Q | wc -l`) (defpoll packages :interval "5m" `pacman -Q | wc -l`)
(defpoll kernal :interval "5m" `uname -r`) (defpoll kernal :interval "5m" `uname -r`)
(defpoll name :interval "5m" `whoami`) (defpoll name :interval "5m" `whoami`)
@ -286,10 +243,10 @@
:class "uptime" :class "uptime"
:halign "start" :halign "start"
:text " : ${uptime}") :text " : ${uptime}")
(label ;; (label
:class "packages" ;; :class "packages"
:halign "start" ;; :halign "start"
:text " : ${packages}") ;; :text " : ${packages}")
(label (label
:class "kernal" :class "kernal"
:halign "start" :halign "start"

View file

@ -89,19 +89,16 @@ misc:disable_autoreload = true
# example window rules # example window rules
# for windows named/classed as abc and xyz # for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
windowrule=opaque,firefox windowrule=opaque,firefox
windowrule=float,dolphin windowrule=float,dolphin
windowrule=float,mpv
windowrule=size 90% 76%,mpv windowrule=size 90% 76%,mpv
windowrule=center,mpv windowrule=center,mpv
windowrule=float,pulsemixer windowrule=float,pulsemixer
windowrule=workspace special,mpv
windowrule=workspace 1,firefox windowrule=workspace 1,firefox
windowrule=workspace 2,emacs windowrule=workspace 2,emacs
windowrule=float,btop
windowrule=size 60% 60%,btop
# example binds # example binds
bind=SUPER,RETURN,exec,alacritty bind=SUPER,RETURN,exec,alacritty
@ -110,10 +107,13 @@ bind=SUPERSHIFT,Q,exit,
bind=SUPERSHIFT,D,exec,dolphin bind=SUPERSHIFT,D,exec,dolphin
bind=SUPERSHIFT,F,togglefloating, bind=SUPERSHIFT,F,togglefloating,
bindr=SUPER,Super_L,exec,/home/chris/bin/launcher.sh bindr=SUPER,Super_L,exec,/home/chris/bin/launcher.sh
bindr=SUPERALT,Alt_L,exec,/home/chris/bin/windows.sh bindr=ALT,Alt_L,exec,/home/chris/bin/window.sh
bind=SUPER,w,exec,/home/chris/bin/window.sh
bind=SUPER,E,exec,/home/chris/bin/emacslof bind=SUPER,E,exec,/home/chris/bin/emacslof
bind=SUPER,d,exec,emacsclient -c -e '(dired-jump)'
bind=SUPER,B,exec,/home/chris/bin/fflof bind=SUPER,B,exec,/home/chris/bin/fflof
bind=SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer bind=SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer
bind=SUPERCTRL,/,exec,alacritty --class btop -e btop
bind=SUPER,P,exec,/home/chris/bin/rbw.sh bind=SUPER,P,exec,/home/chris/bin/rbw.sh
bind=SUPER,M,fullscreen,1 bind=SUPER,M,fullscreen,1
@ -168,6 +168,9 @@ binde=, XF86AudioMute, exec, pamixer -t
binde=, XF86MonBrightnessUp, exec, brightnessctl s +10% binde=, XF86MonBrightnessUp, exec, brightnessctl s +10%
binde=, XF86MonBrightnessDown, exec, brightnessctl s 10%- binde=, XF86MonBrightnessDown, exec, brightnessctl s 10%-
bind=SUPERCTRL,b,exec,eww.sh
bind=SUPERALT,n,exec,eww update rightside=true
bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow bindm=SUPER,mouse:273,resizewindow

View file

@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
echo $(pamixer --get-volume-human) >> /tmp/vol echo $(pamixer --get-volume-human) >> /tmp/vol
echo $(pamixer --get-volume-human)

View file

@ -4,8 +4,6 @@ list_windows() (
wlrctl window list wlrctl window list
) )
window=$(list_windows | rofi -sync -dmenu -p "select window..." -theme ~/.config/rofi/launchers-git/laptop-rbw.rasi | awk '{print $1}' | sed 's/://') window=$(list_windows | rofi -i -sync -dmenu -p " " -theme ~/.config/rofi/launchers-git/laptop-rbw.rasi | awk '{print $1}' | sed 's/://')
echo $window
wlrctl window focus $window wlrctl window focus $window

View file

@ -95,7 +95,7 @@
displayManager = { displayManager = {
startx.enable = true; startx.enable = true;
sddm = { sddm = {
enable = true; enable = false;
}; };
session = [ session = [
{ {
@ -242,6 +242,7 @@
jq jq
ripgrep ripgrep
fd fd
socat
ffmpeg-full ffmpeg-full
imagemagick imagemagick
libheif libheif
@ -296,6 +297,7 @@
rofi-wayland rofi-wayland
wofi wofi
waybar waybar
tridactyl-native
eww-wayland eww-wayland
wlrctl wlrctl
hyprpaper hyprpaper
@ -462,6 +464,7 @@
no-littering no-littering
tree-sitter tree-sitter
tree-sitter-langs tree-sitter-langs
rustic
evil evil
evil-collection evil-collection
general general

View file

@ -88,7 +88,7 @@
displayManager = { displayManager = {
startx.enable = true; startx.enable = true;
sddm = { sddm = {
enable = true; enable = false;
}; };
session = [ session = [
{ {
@ -261,6 +261,7 @@
jq jq
ripgrep ripgrep
fd fd
socat
ffmpeg-full ffmpeg-full
imagemagick imagemagick
libheif libheif
@ -315,6 +316,7 @@
rofi-wayland rofi-wayland
wofi wofi
waybar waybar
tridactyl-native
eww-wayland eww-wayland
wlrctl wlrctl
hyprpaper hyprpaper
@ -448,6 +450,7 @@
no-littering no-littering
tree-sitter tree-sitter
tree-sitter-langs tree-sitter-langs
rustic
evil evil
evil-collection evil-collection
general general

View file

@ -316,6 +316,8 @@
}; };
}; };
home.file.".mozilla/native-messaging-hosts".source = "/run/current-system/sw/lib/mozilla/native-messaging-hosts";
home.file.".mozilla/firefox/nw77o6yc.default/chrome" = { home.file.".mozilla/firefox/nw77o6yc.default/chrome" = {
source = ../firefox/chrome; source = ../firefox/chrome;
recursive = true; recursive = true;
@ -340,9 +342,7 @@
source = ../fish/functions; source = ../fish/functions;
}; };
home.file.".config/hypr" = { home.file.".config/hypr".source = config.lib.file.mkOutOfStoreSymlink ../hypr;
source = ../hypr;
};
home.file.".config/dunst" = { home.file.".config/dunst" = {
source = ../dunst; source = ../dunst;
@ -535,8 +535,10 @@
After = [ "graphical-session.target" ]; After = [ "graphical-session.target" ];
# PartOf = [ "plasma-workspace.target" ]; # PartOf = [ "plasma-workspace.target" ];
}; };
Service = {
# Install = { WantedBy = [ "plasma-workspace.target" ]; }; Environment = ["PATH=/etc/profiles/per-user/chris/bin"
"WAYLAND_DISPLAY=wayland-1"];
};
}; };
}; };