so much hyprland

This commit is contained in:
mjallen18
2025-06-25 22:46:36 -05:00
parent 24fa8c6569
commit 00115e9474
24 changed files with 447 additions and 755 deletions

View File

@@ -1,17 +1,14 @@
let configDir = ./config;
in
{
imports = [
./config/nwg-dock
./config/nwg-drawer
./config/nwg-panel
];
home.file = {
".config/wallpapers".source = "${configDir}/wallpapers";
".config/kitty/macchiato.conf".source = "${configDir}/kitty/macchiato.conf";
".config/kitty/nord.conf".source = "${configDir}/kitty/nord.conf";
".config/wlogout".source = "${configDir}/wlogout"; #
".config/wlogout".source = "${configDir}/wlogout";
".config/waybar/scripts".source = "${configDir}/waybar/scripts";
".config/waybar/macchiato.css".source = "${configDir}/waybar/macchiato.css";
".config/waybar/nord.css".source = "${configDir}/waybar/nord.css";
# ".config/btop/themes".source = "${configDir}/btop/themes";
".config/nwg-dock-hyprland".source = "${configDir}/nwg-dock";
".config/nwg-drawer".source = "${configDir}/nwg-drawer";
".config/nwg-panel".source = "${configDir}/nwg-panel";
};
}

View File

@@ -73,48 +73,48 @@ in
};
themes = {
nord = ''
theme[main_bg]="#${theme.nord.polarNight.nord0}"
theme[main_fg]="#${theme.nord.snowStorm.nord6}"
theme[title]="#${theme.nord.snowStorm.nord6}"
theme[hi_fg]="#${theme.nord.frost.nord7}"
theme[selected_bg]="#${theme.nord.polarNight.nord1}"
theme[selected_fg]="#${theme.nord.frost.nord7}"
theme[inactive_fg]="#${theme.nord.polarNight.nord2}"
theme[graph_text]="#${theme.nord.snowStorm.nord6}"
theme[meter_bg]="#${theme.nord.polarNight.nord1}"
theme[proc_misc]="#${theme.nord.snowStorm.nord6}"
theme[cpu_box]="#${theme.nord.aurora.nord15}"
theme[mem_box]="#${theme.nord.aurora.nord14}"
theme[net_box]="#${theme.nord.aurora.nord12}"
theme[proc_box]="#${theme.nord.aurora.nord11}"
theme[div_line]="#${theme.nord.polarNight.nord1}"
theme[temp_start]="#${theme.nord.aurora.nord14}"
theme[temp_mid]="#${theme.nord.aurora.nord13}"
theme[temp_end]="#${theme.nord.aurora.nord11}"
theme[cpu_start]="#${theme.nord.aurora.nord15}"
theme[cpu_mid]="#${theme.nord.aurora.nord12}"
theme[cpu_end]="#${theme.nord.aurora.nord11}"
theme[free_start]="#${theme.nord.aurora.nord14}"
theme[free_mid]="#${theme.nord.aurora.nord13}"
theme[free_end]="#${theme.nord.aurora.nord12}"
theme[cached_start]="#${theme.nord.aurora.nord14}"
theme[cached_mid]="#${theme.nord.aurora.nord13}"
theme[cached_end]="#${theme.nord.aurora.nord12}"
theme[available_start]="#${theme.nord.snowStorm.nord6}"
theme[available_mid]="#${theme.nord.aurora.nord11}"
theme[available_end]="#${theme.nord.aurora.nord11}"
theme[used_start]="#${theme.nord.aurora.nord14}"
theme[used_mid]="#${theme.nord.aurora.nord13}"
theme[used_end]="#${theme.nord.aurora.nord11}"
theme[download_start]="#${theme.nord.frost.nord8}"
theme[download_mid]="#${theme.nord.frost.nord8}"
theme[download_end]="#${theme.nord.aurora.nord12}"
theme[upload_start]="#${theme.nord.frost.nord7}"
theme[upload_mid]="#${theme.nord.frost.nord7}"
theme[upload_end]="#${theme.nord.aurora.nord12}"
theme[process_start]="#${theme.nord.aurora.nord15}"
theme[process_mid]="#${theme.nord.aurora.nord12}"
theme[process_end]="#${theme.nord.aurora.nord11}"
theme[main_bg]="${theme.nord.polarNight.nord0}"
theme[main_fg]="${theme.nord.snowStorm.nord6}"
theme[title]="${theme.nord.snowStorm.nord6}"
theme[hi_fg]="${theme.nord.frost.nord7}"
theme[selected_bg]="${theme.nord.polarNight.nord1}"
theme[selected_fg]="${theme.nord.frost.nord7}"
theme[inactive_fg]="${theme.nord.polarNight.nord2}"
theme[graph_text]="${theme.nord.snowStorm.nord6}"
theme[meter_bg]="${theme.nord.polarNight.nord1}"
theme[proc_misc]="${theme.nord.snowStorm.nord6}"
theme[cpu_box]="${theme.nord.aurora.nord15}"
theme[mem_box]="${theme.nord.aurora.nord14}"
theme[net_box]="${theme.nord.aurora.nord12}"
theme[proc_box]="${theme.nord.aurora.nord11}"
theme[div_line]="${theme.nord.polarNight.nord1}"
theme[temp_start]="${theme.nord.aurora.nord14}"
theme[temp_mid]="${theme.nord.aurora.nord13}"
theme[temp_end]="${theme.nord.aurora.nord11}"
theme[cpu_start]="${theme.nord.aurora.nord15}"
theme[cpu_mid]="${theme.nord.aurora.nord12}"
theme[cpu_end]="${theme.nord.aurora.nord11}"
theme[free_start]="${theme.nord.aurora.nord14}"
theme[free_mid]="${theme.nord.aurora.nord13}"
theme[free_end]="${theme.nord.aurora.nord12}"
theme[cached_start]="${theme.nord.aurora.nord14}"
theme[cached_mid]="${theme.nord.aurora.nord13}"
theme[cached_end]="${theme.nord.aurora.nord12}"
theme[available_start]="${theme.nord.snowStorm.nord6}"
theme[available_mid]="${theme.nord.aurora.nord11}"
theme[available_end]="${theme.nord.aurora.nord11}"
theme[used_start]="${theme.nord.aurora.nord14}"
theme[used_mid]="${theme.nord.aurora.nord13}"
theme[used_end]="${theme.nord.aurora.nord11}"
theme[download_start]="${theme.nord.frost.nord8}"
theme[download_mid]="${theme.nord.frost.nord8}"
theme[download_end]="${theme.nord.aurora.nord12}"
theme[upload_start]="${theme.nord.frost.nord7}"
theme[upload_mid]="${theme.nord.frost.nord7}"
theme[upload_end]="${theme.nord.aurora.nord12}"
theme[process_start]="${theme.nord.aurora.nord15}"
theme[process_mid]="${theme.nord.aurora.nord12}"
theme[process_end]="${theme.nord.aurora.nord11}"
'';
};
};

View File

@@ -1,42 +0,0 @@
theme[main_bg]="#24273A"
theme[main_fg]="#CAD3F5"
theme[title]="#CAD3F5"
theme[hi_fg]="#8AADF4"
theme[selected_bg]="#494D64"
theme[selected_fg]="#8AADF4"
theme[inactive_fg]="#8087A2"
theme[graph_text]="#F4DBD6"
theme[meter_bg]="#494D64"
theme[proc_misc]="#F4DBD6"
theme[cpu_box]="#7DC4E4"
theme[mem_box]="#A6DA95"
theme[net_box]="#C6A0F6"
theme[proc_box]="#F0C6C6"
theme[div_line]="#6E738D"
theme[temp_start]="#EED49F"
theme[temp_mid]="#F5A97F"
theme[temp_end]="#ED8796"
theme[cpu_start]="#7DC4E4"
theme[cpu_mid]="#91D7E3"
theme[cpu_end]="#8BD5CA"
theme[free_start]="#8BD5CA"
theme[free_mid]="#8BD5CA"
theme[free_end]="#A6DA95"
theme[cached_start]="#F5BDE6"
theme[cached_mid]="#F5BDE6"
theme[cached_end]="#C6A0F6"
theme[available_start]="#F4DBD6"
theme[available_mid]="#F0C6C6"
theme[available_end]="#F0C6C6"
theme[used_start]="#F5A97F"
theme[used_mid]="#F5A97F"
theme[used_end]="#ED8796"
theme[download_start]="#B7BDF8"
theme[download_mid]="#B7BDF8"
theme[download_end]="#C6A0F6"
theme[upload_start]="#B7BDF8"
theme[upload_mid]="#B7BDF8"
theme[upload_end]="#C6A0F6"
theme[process_start]="#7DC4E4"
theme[process_mid]="#91D7E3"
theme[process_end]="#8BD5CA"

View File

@@ -1,42 +0,0 @@
theme[main_bg]="#2e3440"
theme[main_fg]="#eceff4"
theme[title]="#eceff4"
theme[hi_fg]="#8fbcbb"
theme[selected_bg]="#3b4252"
theme[selected_fg]="#8fbcbb"
theme[inactive_fg]="#434c5e"
theme[graph_text]="#eceff4"
theme[meter_bg]="#3b4252"
theme[proc_misc]="#eceff4"
theme[cpu_box]="#b48ead"
theme[mem_box]="#a3be8c"
theme[net_box]="#d08770"
theme[proc_box]="#bf616a"
theme[div_line]="#3b4252"
theme[temp_start]="#a3be8c"
theme[temp_mid]="#ebcb8b"
theme[temp_end]="#bf616a"
theme[cpu_start]="#b48ead"
theme[cpu_mid]="#d08770"
theme[cpu_end]="#bf616a"
theme[free_start]="#a3be8c"
theme[free_mid]="#ebcb8b"
theme[free_end]="#d08770"
theme[cached_start]="#a3be8c"
theme[cached_mid]="#ebcb8b"
theme[cached_end]="#d08770"
theme[available_start]="#eceff4"
theme[available_mid]="#bf616a"
theme[available_end]="#bf616a"
theme[used_start]="#a3be8c"
theme[used_mid]="#ebcb8b"
theme[used_end]="#bf616a"
theme[download_start]="#88c0d0"
theme[download_mid]="#88c0d0"
theme[download_end]="#d08770"
theme[upload_start]="#8fbcbb"
theme[upload_mid]="#8fbcbb"
theme[upload_end]="#d08770"
theme[process_start]="#b48ead"
theme[process_mid]="#d08770"
theme[process_end]="#bf616a"

View File

@@ -276,6 +276,7 @@ in
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = xhost +SI:localuser:root
exec-once = bing-wallpaper
exec-once = nwg-look -a
exec-once = nwg-dock-hyprland -d
exec-once = nm-applet

View File

@@ -1,26 +1,98 @@
{ pkgs, ... }:
let
theme = import ../../theme.nix { inherit pkgs; };
in
{
programs.kitty = {
enable = true;
shellIntegration.enableZshIntegration = true;
font = {
name = "JetBrainsMono NFM";
package = pkgs.nerd-fonts.jetbrains-mono;
size = 12;
name = theme.fontName;
package = theme.fontPackage;
size = theme.fontSize;
};
settings = {
include = "~/.config/kitty/nord.conf";
bold_font = "auto";
italic_font = "auto";
bold_italic_font = "auto";
mouse_hide_wait = "2.0";
cursor_shape = "block";
url_color = "#88c0d0";
url_style = "dotted";
confirm_os_window_close = "0";
background_opacity = "0.8";
background_opacity = "0.85";
# The basic colors
foreground = theme.nord.snowStorm.nord6;
background = theme.nord.polarNight.nord0;
selection_foreground = theme.nord.polarNight.nord0;
selection_background = theme.nord.aurora.nord15;
# Cursor colors
cursor = theme.nord.aurora.nord15;
cursor_text_color = theme.nord.polarNight.nord0;
# URL underline color when hovering with mouse
url_color = theme.nord.aurora.nord15;
# Kitty window border colors
active_border_color = theme.nord.frost.nord10;
inactive_border_color = theme.nord.polarNight.nord1;
bell_border_color = theme.nord.aurora.nord13;
# OS Window titlebar colors
wayland_titlebar_color = theme.nord.polarNight.nord0;
macos_titlebar_color = theme.nord.polarNight.nord0;
# Tab bar colors
active_tab_foreground = theme.nord.polarNight.nord3;
active_tab_background = theme.nord.aurora.nord15;
inactive_tab_foreground = theme.nord.snowStorm.nord6;
inactive_tab_background = theme.nord.polarNight.nord1;
tab_bar_background = theme.nord.polarNight.nord3;
# Colors for marks (marked text in the terminal)
mark1_foreground = theme.nord.polarNight.nord0;
mark1_background = theme.nord.frost.nord10;
mark2_foreground = theme.nord.polarNight.nord0;
mark2_background = theme.nord.aurora.nord15;
mark3_foreground = theme.nord.polarNight.nord0;
mark3_background = theme.nord.frost.nord8;
# The 16 terminal colors
# black
color0 = theme.nord.polarNight.nord0;
color8 = theme.nord.polarNight.nord1;
# red
color1 = theme.nord.aurora.nord11;
color9 = theme.nord.aurora.nord11;
# green
color2 = theme.nord.aurora.nord14;
color10 = theme.nord.aurora.nord14;
# yellow
color3 = theme.nord.aurora.nord13;
color11 = theme.nord.aurora.nord13;
# blue
color4 = theme.nord.frost.nord10;
color12 = theme.nord.frost.nord10;
# magenta
color5 = theme.nord.aurora.nord15;
color13 = theme.nord.aurora.nord15;
# cyan
color6 = theme.nord.frost.nord8;
color14 = theme.nord.frost.nord8;
# white
color7 = theme.nord.snowStorm.nord5;
color15 = theme.nord.snowStorm.nord4;
};
};
}

View File

@@ -1,80 +0,0 @@
# vim:ft=kitty
## name: Catppuccin Kitty Macchiato
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/macchiato.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #CAD3F5
background #24273A
selection_foreground #24273A
selection_background #F4DBD6
# Cursor colors
cursor #F4DBD6
cursor_text_color #24273A
# URL underline color when hovering with mouse
url_color #F4DBD6
# Kitty window border colors
active_border_color #B7BDF8
inactive_border_color #6E738D
bell_border_color #EED49F
# OS Window titlebar colors
wayland_titlebar_color #24273A
macos_titlebar_color #24273A
# Tab bar colors
active_tab_foreground #181926
active_tab_background #C6A0F6
inactive_tab_foreground #CAD3F5
inactive_tab_background #1E2030
tab_bar_background #181926
# Colors for marks (marked text in the terminal)
mark1_foreground #24273A
mark1_background #B7BDF8
mark2_foreground #24273A
mark2_background #C6A0F6
mark3_foreground #24273A
mark3_background #7DC4E4
# The 16 terminal colors
# black
color0 #494D64
color8 #5B6078
# red
color1 #ED8796
color9 #ED8796
# green
color2 #A6DA95
color10 #A6DA95
# yellow
color3 #EED49F
color11 #EED49F
# blue
color4 #8AADF4
color12 #8AADF4
# magenta
color5 #F5BDE6
color13 #F5BDE6
# cyan
color6 #8BD5CA
color14 #8BD5CA
# white
color7 #B8C0E0
color15 #A5ADCB

View File

@@ -1,72 +0,0 @@
# vim:ft=kitty
# The basic colors
foreground #eceff4
background #2e3440
selection_foreground #2e3440
selection_background #b48ead
# Cursor colors
cursor #b48ead
cursor_text_color #2e3440
# URL underline color when hovering with mouse
url_color #b48ead
# Kitty window border colors
active_border_color #5e81ac
inactive_border_color #3b4252
bell_border_color #ebcb8b
# OS Window titlebar colors
wayland_titlebar_color #2e3440
macos_titlebar_color #2e3440
# Tab bar colors
active_tab_foreground #4c566a
active_tab_background #b48ead
inactive_tab_foreground #eceff4
inactive_tab_background #3b4252
tab_bar_background #4c566a
# Colors for marks (marked text in the terminal)
mark1_foreground #2e3440
mark1_background #5e81ac
mark2_foreground #2e3440
mark2_background #b48ead
mark3_foreground #2e3440
mark3_background #7DC4E4
# The 16 terminal colors
# black
color0 #2e3440
color8 #3b4252
# red
color1 #bf616a
color9 #bf616a
# green
color2 #a3be8c
color10 #a3be8c
# yellow
color3 #ebcb8b
color11 #ebcb8b
# blue
color4 #5e81ac
color12 #5e81ac
# magenta
color5 #b48ead
color13 #b48ead
# cyan
color6 #88c0d0
color14 #88c0d0
# white
color7 #e5e9f0
color15 #d8dee9

View File

@@ -7,7 +7,7 @@ in
enable = true;
settings = {
font = theme.fontName;
icons = false;
icons = true;
ignore-timeout = true;
sort = "-time";
width = 500;
@@ -18,10 +18,10 @@ in
max-icon-size = 64;
default-timeout = 5000;
background-color = "#24273a";
text-color = "#cad3f5";
border-color = "#8aadf4";
progress-color = "over #363a4f";
background-color = theme.nord.polarNight.nord0;
text-color = theme.nord.snowStorm.nord6;
border-color = theme.nord.frost.nord10;
progress-color = "over ${theme.nord.frost.nord8}";
};
};
}

View File

@@ -0,0 +1,52 @@
{ pkgs, ... }:
let
theme = import ../../theme.nix { inherit pkgs; };
in
{
home.file = {
".config/nwg-dock-hyprland/drawer.css".text = ''
window {
background: ${theme.nord.polarNight.nord0};
border-radius: 10px;
border-style: none;
border-width: 1px;
border-color: ${theme.nord.aurora.nord15}b0
}
#box {
/* Define attributes of the box surrounding icons here */
padding: 10px
}
active {
/* This is to underline the button representing the currently active window */
border-bottom: solid 1px;
border-color: ${theme.nord.aurora.nord14}1a
}
button, image {
background: none;
border-style: none;
box-shadow: none;
color: ${theme.nord.frost.nord10}
}
button {
padding: 4px;
margin-left: 4px;
margin-right: 4px;
color: #eee;
font-size: 12px
}
button:hover {
background-color: ${theme.nord.polarNight.nord0}1a;
border-radius: 2px;
}
button:focus {
box-shadow: none
}
'';
};
}

View File

@@ -1,42 +0,0 @@
window {
background: #36364f;
border-radius: 10px;
border-style: none;
border-width: 1px;
border-color: rgba(156, 142, 122, 0.7)
}
#box {
/* Define attributes of the box surrounding icons here */
padding: 10px
}
#active {
/* This is to underline the button representing the currently active window */
border-bottom: solid 1px;
border-color: rgba(255, 255, 255, 0.3)
}
button, image {
background: none;
border-style: none;
box-shadow: none;
color: #999
}
button {
padding: 4px;
margin-left: 4px;
margin-right: 4px;
color: #eee;
font-size: 12px
}
button:hover {
background-color: rgba(255, 255, 255, 0.15);
border-radius: 2px;
}
button:focus {
box-shadow: none
}

View File

@@ -0,0 +1,44 @@
{ pkgs, ... }:
let
theme = import ../../theme.nix { inherit pkgs; };
in
{
home.file = {
".config/nwg-drawer/drawer.css".text = ''
window {
background-color: ${theme.nord.polarNight.nord0}bf;
color: ${theme.nord.snowStorm.nord5}00
}
/* search entry */
entry {
background-color: ${theme.nord.polarNight.nord1}0f
}
button, image {
background: none;
border: none
}
button:hover {
background-color: ${theme.nord.frost.nord10}1a
}
/* in case you wanted to give category buttons a different look */
#category-button {
margin: 0 10px 0 10px
}
#pinned-box {
padding-bottom: 5px;
border-bottom: 1px dotted ${theme.nord.polarNight.nord3}
}
#files-box {
padding: 5px;
border: 1px dotted ${theme.nord.polarNight.nord3};
border-radius: 15px
}
'';
};
}

View File

@@ -1,34 +0,0 @@
window {
background-color: rgba (36, 47, 79, 0.95);
color: #eeeeee
}
/* search entry */
entry {
background-color: rgba (0, 0, 0, 0.2)
}
button, image {
background: none;
border: none
}
button:hover {
background-color: rgba (255, 255, 255, 0.1)
}
/* in case you wanted to give category buttons a different look */
#category-button {
margin: 0 10px 0 10px
}
#pinned-box {
padding-bottom: 5px;
border-bottom: 1px dotted gray
}
#files-box {
padding: 5px;
border: 1px dotted gray;
border-radius: 15px
}

View File

@@ -0,0 +1,21 @@
{ pkgs, ... }:
let
theme = import ../../theme.nix { inherit pkgs; };
in
{
home.file = {
".config/nwg-panel/excluded-dirs".text = ''
'';
".config/nwg-panel/preferred-apps.json".text = ''
{
"\\.pdf$": "${theme.defaultApps.browser.pname}",
"\\.svg$": "inkscape",
"\\.(jpg|png|tiff|gif)$": "${theme.defaultApps.imageViewer.pname}",
"\\.(mp3|ogg|flac|wav|wma)$": "audacious",
"\\.(avi|mp4|mkv|mov|wav)$": "${theme.defaultApps.video.pname}",
"\\.(doc|docx|xls|xlsx)$": "${theme.defaultApps.office.pname}"
}
'';
};
}

View File

@@ -1,8 +0,0 @@
{
"\\.pdf$": "firefox",
"\\.svg$": "inkscape",
"\\.(jpg|png|tiff|gif)$": "swayimg",
"\\.(mp3|ogg|flac|wav|wma)$": "audacious",
"\\.(avi|mp4|mkv|mov|wav)$": "mpv",
"\\.(doc|docx|xls|xlsx)$": "libreoffice"
}

View File

@@ -1,3 +1,26 @@
{ pkgs, ... }:
let
theme = import ../../theme.nix { inherit pkgs; };
defaultOpacity = "opacity: 0.85;";
defaultBorderRadius = "border-radius: 1rem;";
defaultCenterOptions = ''
padding: 0.5rem 1rem;
margin: 5px 0;
'';
borderRight = ''
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0rem 1rem 1rem 0rem;
margin-right: 1rem;
'';
borderLeft = ''
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
margin-left: 1rem;
'';
in
{
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
# https://www.nerdfonts.com/cheat-sheet
@@ -14,6 +37,8 @@
passthrough = false;
gtk-layer-shell = true;
height = 0;
# Module Layout
modules-left = [ "hyprland/workspaces" ];
modules-center = [ "hyprland/window" ];
@@ -32,11 +57,8 @@
"custom/weather"
];
"hyprland/window" = {
separate-outputs = true;
format = { };
};
# Module Definitions
# Left
"hyprland/workspaces" = {
disable-scroll = true;
all-outputs = true;
@@ -46,12 +68,16 @@
};
};
"custom/weather" = {
tooltip = true;
# Center
"hyprland/window" = {
separate-outputs = true;
format = { };
interval = 30;
exec = "waybar-weather";
return-type = "json";
};
# Left
tray = {
icon-size = 16;
spacing = 10;
};
# "custom/updates" = {
@@ -65,14 +91,12 @@
"custom/lights" = {
tooltip = false;
format = "󱉓";
# interval = 30;
on-click = "nix-shell /home/matt/.config/waybar/scripts/hass.nix --run \"python /home/matt/.config/waybar/scripts/hass.py --toggle_light light.bedroom_lights\"";
# return-type = "json";
};
temperature = {
hwmon-path = "/sys/class/hwmon/hwmon4/temp1_input";
critical-threshold = 90;
critical-threshold = 100;
format-critical = "{temperatureC}°C {icon}";
format = "{temperatureC}°C {icon}";
format-icons = [
@@ -103,14 +127,26 @@
tooltip-format = "GPU: {temperatureC}°C";
};
tray = {
icon-size = 16;
spacing = 10;
"keyboard-state#capslock" = {
capslock = true;
icon-size = 20;
format = "{icon}";
tooltip-format = "Caps Lock {state}";
format-icons = {
locked = "󰬶";
unlocked = "󰬵";
};
};
clock = {
format = "{:%I:%M %p}";
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
"keyboard-state#numlock" = {
numlock = true;
icon-size = 60;
format = "{icon}";
tooltip-format = "Num Lock {state}";
format-icons = {
locked = "󰎠";
unlocked = "󱧓";
};
};
pulseaudio = {
@@ -150,50 +186,22 @@
scroll-step = 5;
};
"keyboard-state#capslock" = {
capslock = true;
icon-size = 20;
format = "{icon}";
tooltip-format = "Caps Lock {state}";
format-icons = {
locked = "󰬶";
unlocked = "󰬵";
};
clock = {
format = "{:%I:%M %p}";
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
};
"keyboard-state#numlock" = {
numlock = true;
icon-size = 60;
format = "{icon}";
tooltip-format = "Num Lock {state}";
format-icons = {
locked = "󰎠";
unlocked = "󱧓";
};
"custom/weather" = {
tooltip = true;
format = { };
interval = 30;
exec = "waybar-weather";
return-type = "json";
};
};
};
# https://catppuccin.com/palette
style = ''
@define-color nord0 #2e3440;
@define-color nord1 #3b4252;
@define-color nord2 #434c5e;
@define-color nord3 #4c566a;
@define-color nord4 #d8dee9;
@define-color nord5 #e5e9f0;
@define-color nord6 #eceff4;
@define-color nord7 #8fbcbb;
@define-color nord8 #88c0d0;
@define-color nord9 #81a1c1;
@define-color nord10 #5e81ac;
@define-color nord11 #bf616a;
@define-color nord12 #d08770;
@define-color nord13 #ebcb8b;
@define-color nord14 #a3be8c;
@define-color nord15 #b48ead;
/*@import "nord.css";*/
* {
font-family:
Jetbrains Mono Nerd Font,
@@ -204,161 +212,149 @@
#waybar {
background: transparent;
color: @nord6;
color: ${theme.nord.snowStorm.nord6};
margin: 5px 5px;
}
#workspaces {
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem;
background-color: @nord0;
opacity: 0.6;
background-color: ${theme.nord.polarNight.nord0};
${defaultBorderRadius}
${defaultOpacity}
${defaultCenterOptions}
margin-left: 1rem;
}
#workspaces button {
color: @nord10;
border-radius: 1rem;
color: ${theme.nord.frost.nord10};
${defaultBorderRadius}
padding: 0.4rem;
}
#workspaces button.active {
color: @nord8;
border-radius: 1rem;
color: ${theme.nord.frost.nord8};
${defaultBorderRadius}
}
#workspaces button:hover {
color: @nord7;
border-radius: 1rem;
color: ${theme.nord.frost.nord7};
${defaultBorderRadius}
}
#workspaces button.focused {
color: @nord6;
background: @nord13;
border-radius: 1rem;
color: ${theme.nord.snowStorm.nord6};
background: ${theme.nord.aurora.nord13};
${defaultBorderRadius}
}
#workspaces button.urgent {
color: @nord0;
background: @nord6;
border-radius: 1rem;
color: ${theme.nord.polarNight.nord0};
background: ${theme.nord.snowStorm.nord6};
${defaultBorderRadius}
}
#tooltip {
background: @nord0;
border-radius: 1rem;
background: ${theme.nord.polarNight.nord0};
border-color: ${theme.nord.polarNight.nord0};
${defaultBorderRadius}
border-width: 1rem;
border-style: solid;
border-color: @nord0;
}
#window {
color: @nord15;
background-color: @nord0;
opacity: 0.6;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem;
color: ${theme.nord.aurora.nord15};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultBorderRadius}
${defaultCenterOptions}
margin-left: 6rem;
margin-right: 6rem;
}
#custom-weather {
color: @nord10;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0rem 1rem 1rem 0rem;
margin-right: 1rem;
color: ${theme.nord.frost.nord10};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${borderRight}
}
#clock {
color: @nord9;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
margin-left: 1rem;
color: ${theme.nord.frost.nord9};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${borderLeft}
}
/* ------------- */
#pulseaudio.microphone {
color: @nord8;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 0rem 1rem 1rem 0rem;
color: ${theme.nord.frost.nord8};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${borderRight}
}
#pulseaudio {
color: @nord7;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
color: ${theme.nord.frost.nord7};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#keyboard-state.numlock {
color: @nord8;
background-color: @nord0;
padding: 0.5rem;
margin: 5px 0;
color: ${theme.nord.frost.nord8};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
font-size: 10rem;
}
#keyboard-state.capslock {
color: @nord9;
background-color: @nord0;
padding: 0.5rem;
margin: 5px 0;
color: ${theme.nord.frost.nord9};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
font-size: 18px;
}
#temperature.gpu {
color: @nord10;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
color: ${theme.nord.frost.nord10};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#temperature {
color: @nord9;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
color: ${theme.nord.frost.nord9};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#custom-updates {
color: @nord8;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
margin-left: 1rem;
color: ${theme.nord.frost.nord8};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${borderLeft}
}
#custom-lights {
color: @nord8;
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
border-radius: 1rem 0rem 0rem 1rem;
color: ${theme.nord.frost.nord8};
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${borderLeft}
}
/* ------------- */
#tray {
background-color: @nord0;
padding: 0.5rem 1rem;
margin: 5px 0;
background-color: ${theme.nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
${defaultBorderRadius}
margin-right: 1rem;
border-radius: 1rem;
}
'';
};

View File

@@ -1,26 +0,0 @@
@define-color rosewater #f4dbd6;
@define-color flamingo #f0c6c6;
@define-color pink #f5bde6;
@define-color mauve #c6a0f6;
@define-color red #ed8796;
@define-color maroon #ee99a0;
@define-color peach #f5a97f;
@define-color yellow #eed49f;
@define-color green #a6da95;
@define-color teal #8bd5ca;
@define-color sky #91d7e3;
@define-color sapphire #7dc4e4;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color text #cad3f5;
@define-color subtext1 #b8c0e0;
@define-color subtext0 #a5adcb;
@define-color overlay2 #939ab7;
@define-color overlay1 #8087a2;
@define-color overlay0 #6e738d;
@define-color surface2 #5b6078;
@define-color surface1 #494d64;
@define-color surface0 #363a4f;
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;

View File

@@ -1,16 +0,0 @@
@define-color nord0 #2e3440;
@define-color nord1 #3b4252;
@define-color nord2 #434c5e;
@define-color nord3 #4c566a;
@define-color nord4 #d8dee9;
@define-color nord5 #e5e9f0;
@define-color nord6 #eceff4;
@define-color nord7 #8fbcbb;
@define-color nord8 #88c0d0;
@define-color nord9 #81a1c1;
@define-color nord10 #5e81ac;
@define-color nord11 #bf616a;
@define-color nord12 #d08770;
@define-color nord13 #ebcb8b;
@define-color nord14 #a3be8c;
@define-color nord15 #b48ead;

View File

@@ -1,166 +0,0 @@
@import "macchiato.css";
* {
border: none;
border-radius: 0;
font-family:
Jetbrains Mono Nerd Font,
monospace;
font-weight: bold;
font-size: 14px;
min-height: 0;
}
#window.waybar {
background-color: shade(@base, 0.9);
color: @text;
}
#tooltip {
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #11111b;
}
#workspaces button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#workspaces button.active {
color: #a6adc8;
}
#workspaces button.focused {
color: #a6adc8;
background: #eba0ac;
border-radius: 10px;
}
#workspaces button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
/*#window,
#custom-weather,
#clock,
#network,
#pulseaudio,
#keyboard-state,
#temperature,
#custom-updates,
#tray,
#workspaces,*/
#workspaces {
/* background: #1e1e2e; */
background: #1e2030; /* Mantle */
border-radius: 10px;
margin-left: 10px;
padding-right: 0px;
padding-left: 5px;
}
#tray {
border-radius: 10px;
margin-right: 10px;
}
/* ------------- */
#custom-updates {
color: #f5c2e7;
border-radius: 10px 0px 0px 10px;
border-left: 0px;
border-right: 0px;
}
#window {
border-radius: 10px;
margin-left: 60px;
margin-right: 60px;
}
#temperature {
color: #a6da95;/* Green */
border-left: 0px;
border-right: 0px;
}
#temperature.gpu {
color: #eed49f;/* Yellow */
border-left: 0px;
border-right: 0px;
}
#keyboard-state.capslock {
color: #f5a97f;/* Peach */
border-left: 0px;
border-right: 0px;
}
#keyboard-state.numlock {
color: #ee99a0;/* Maroon */
border-left: 0px;
border-right: 0px;
}
#pulseaudio {
color: #ed8796;/* Red */
border-radius: 0px 0px 0px 0px;
border-left: 0px;
border-right: 0px;
margin-left: 0px;
padding-right: 0px;
padding-top: 0px;
}
#pulseaudio.microphone {
color: #c6a0f6; /* Mauve */
border-radius: 0px 10px 10px 0px;
border-left: 0px;
border-right: 0px;
padding-top: 5px;
}
/* ------------- */
#network {
color: #f5bde6; /* Pink */
border-left: 0px;
border-right: 0px;
border-radius: 10px 10px 10px 10px;
margin-left: 5px;
padding-right: 15px;
}
/* ------------- */
#clock {
color: #f0c6c6; /* Flamingo */
border-radius: 10px 0px 0px 10px;
margin-left: 5px;
border-right: 0px;
}
#custom-weather {
color: #f4dbd6; /* Rosewater */
border-radius: 0px 10px 10px 0px;
border-right: 0px;
margin-left: 0px;
}

View File

@@ -42,7 +42,7 @@ in
xwayland.enable = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
nm-applet.enable = true;
};

View File

@@ -8,18 +8,36 @@ let
waybarUpdatesScript = pkgs.writeScriptBin "waybar-updates" ''
/home/matt/.config/waybar/scripts/waybar-updates.py
'';
bing-wallpaper = pkgs.writeScriptBin "bing-wallpaper" ''
# Directory to store wallpapers
IMG_PATH="/tmp/wallpaper.jpg"
# Download if not already downloaded
URL=$(curl -s "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1" | \
jq -r '.images[0].url')
FULL_URL="https://www.bing.com$URL"
curl -s -o "$IMG_PATH" "$FULL_URL"
'';
in
{
environment.systemPackages = with pkgs; [
bing-wallpaper
ddcutil
dunst
egl-wayland
file-roller
glib
gnome-tweaks
gnome-calculator
gnome-calendar
gnome-disk-utility
gnome-firmware
gnome-firmware-updater
gnome-font-viewer
gnome-system-monitor
gnome-logs
gnome-photos
gnome-tweaks
gnome-weather
gsettings-desktop-schemas
hyprcursor
hyprland

View File

@@ -63,7 +63,7 @@ in
", edge:r:l, workspace, +1"
# swipe up from bottom edge
", edge:d:u, exec, firefox"
", edge:d:u, exec, ${theme.defaultApps.browser.pname}"
# swipe down from left edge
", edge:l:d, exec, pactl set-sink-volume @DEFAULT_SINK@ -4%"
@@ -93,13 +93,15 @@ in
};
services = {
blueman-applet.enable = true;
hyprpaper = {
enable = true;
settings = {
preload = [ wallpaper ];
preload = [ "/tmp/wallpaper.jpg" wallpaper ];
wallpaper = [
"${theme.displayLeft.input}, ${wallpaper}"
"${theme.displayRight.input}, ${wallpaper}"
"${theme.displayLeft.input}, /tmp/wallpaper.jpg"
"${theme.displayRight.input}, /tmp/wallpaper.jpg"
];
splash = false;
};
@@ -181,9 +183,10 @@ in
home = {
sessionVariables = {
BROWSER = "firefox";
BROWSER = "${theme.defaultApps.browser.pname}";
CLUTTER_BACKEND = "wayland";
EDITOR = "micro";
EDITOR = "${theme.defaultApps.editor.pname}";
VISUAL = "${theme.defaultApps.visual.pname}";
ICON_THEME = theme.iconTheme;
GTK_CSD = "0";
GTK_THEME = theme.gtkTheme;
@@ -199,7 +202,7 @@ in
QT_SCALE_FACTOR = "1";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
SDL_VIDEODRIVER = "wayland";
TERMINAL = "kitty";
TERMINAL = "${theme.defaultApps.terminal.pname}";
XCURSOR_THEME = theme.cursorTheme;
XCURSOR_SIZE = theme.cursorSize;
XDG_CACHE_HOME = "\${HOME}/.cache";

View File

@@ -6,7 +6,6 @@ let
themeColor = "dark"; # [ "standard" "light" "dark" ]
iconThemeVariant = "all"; # [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]
iconScheme = "nord"; # [ "default" "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" ]
user = "matt";
in
{
# Displays
@@ -53,7 +52,7 @@ in
fontSize = 12;
# SDDM/Locking
sddmTheme = "astronaut";
sddmTheme = "sddm-astronaut";
lockScreenTimer = 900; # 15 min
screenOffTimer = 930; # 15.5 min
suspendTimer = 3600; # 1hr
@@ -73,31 +72,48 @@ in
sddm-astronaut
];
defaultApps = {
browser = pkgs.firefox;
editor = pkgs.micro;
visual = pkgs.vscodium;
terminal = pkgs.kitty;
office = pkgs.onlyoffice-bin_latest;
video = pkgs.vlc;
imageViewer = pkgs.gnome-photos;
};
# Nord colors
# Opacity Hex alpha
# 100% FF
# 75% BF
# 50% 80
# 25% 40
# 10% 1A
# 0% 00
nord = {
polarNight = {
nord0 = "2e3440";
nord1 = "3b4252";
nord2 = "434c5e";
nord3 = "4c566a";
nord0 = "#2e3440";
nord1 = "#3b4252";
nord2 = "#434c5e";
nord3 = "#4c566a";
};
snowStorm = {
nord4 = "d8dee9";
nord5 = "e5e9f0";
nord6 = "eceff4";
nord4 = "#d8dee9";
nord5 = "#e5e9f0";
nord6 = "#eceff4";
};
frost = {
nord7 = "8fbcbb";
nord8 = "88c0d0";
nord9 = "81a1c1";
nord10 = "5e81ac";
nord7 = "#8fbcbb";
nord8 = "#88c0d0";
nord9 = "#81a1c1";
nord10 = "#5e81ac";
};
aurora = {
nord11 = "bf616a";
nord12 = "d08770";
nord13 = "ebcb8b";
nord14 = "a3be8c";
nord15 = "b48ead";
nord11 = "#bf616a";
nord12 = "#d08770";
nord13 = "#ebcb8b";
nord14 = "#a3be8c";
nord15 = "#b48ead";
};
};
}