some hyprland updates
This commit is contained in:
@@ -13,14 +13,6 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
adwaita-icon-theme
|
|
||||||
apple-cursor
|
|
||||||
catppuccin
|
|
||||||
catppuccin-gtk
|
|
||||||
catppuccin-qt5ct
|
|
||||||
catppuccin-sddm
|
|
||||||
colloid-gtk-theme
|
|
||||||
colloid-icon-theme
|
|
||||||
ddcutil
|
ddcutil
|
||||||
dunst
|
dunst
|
||||||
glib
|
glib
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ in
|
|||||||
".config/waybar/scripts".source = "${configDir}/waybar/scripts";
|
".config/waybar/scripts".source = "${configDir}/waybar/scripts";
|
||||||
".config/waybar/macchiato.css".source = "${configDir}/waybar/macchiato.css";
|
".config/waybar/macchiato.css".source = "${configDir}/waybar/macchiato.css";
|
||||||
".config/waybar/nord.css".source = "${configDir}/waybar/nord.css";
|
".config/waybar/nord.css".source = "${configDir}/waybar/nord.css";
|
||||||
".config/btop/themes".source = "${configDir}/btop/themes";
|
# ".config/btop/themes".source = "${configDir}/btop/themes";
|
||||||
".config/nwg-dock-hyprland".source = "${configDir}/nwg-dock";
|
".config/nwg-dock-hyprland".source = "${configDir}/nwg-dock";
|
||||||
".config/nwg-drawer".source = "${configDir}/nwg-drawer";
|
".config/nwg-drawer".source = "${configDir}/nwg-drawer";
|
||||||
".config/nwg-panel".source = "${configDir}/nwg-panel";
|
".config/nwg-panel".source = "${configDir}/nwg-panel";
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
theme = import ../../theme.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
color_theme = "/home/matt/.config/btop/themes/nord.theme";
|
color_theme = "nord";
|
||||||
theme_background = true;
|
theme_background = true;
|
||||||
truecolor = true;
|
truecolor = true;
|
||||||
force_tty = false;
|
force_tty = false;
|
||||||
@@ -68,6 +71,52 @@
|
|||||||
selected_battery = "Auto";
|
selected_battery = "Auto";
|
||||||
log_level = "WARNING";
|
log_level = "WARNING";
|
||||||
};
|
};
|
||||||
|
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}"
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i Colloid-nord-dark";
|
theme = import ../../theme.nix { inherit pkgs; };
|
||||||
|
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${theme.iconTheme}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
@@ -32,6 +34,7 @@ in
|
|||||||
|
|
||||||
bind = [
|
bind = [
|
||||||
"$mod, Return, exec, kitty"
|
"$mod, Return, exec, kitty"
|
||||||
|
"$mod, SPACE, exec, wofi --show drun"
|
||||||
"$mod, Q, killactive, "
|
"$mod, Q, killactive, "
|
||||||
"$mod, M, exec, wlogout --protocol layer-shell"
|
"$mod, M, exec, wlogout --protocol layer-shell"
|
||||||
"$mod, E, exec, nautilus"
|
"$mod, E, exec, nautilus"
|
||||||
@@ -44,12 +47,12 @@ in
|
|||||||
"$mod,F,exec,hyprctl dispatch fullscreen active"
|
"$mod,F,exec,hyprctl dispatch fullscreen active"
|
||||||
"$mod SHIFT, E, exec, smile"
|
"$mod SHIFT, E, exec, smile"
|
||||||
|
|
||||||
"$mod, mouse:276, movecurrentworkspacetomonitor, DP-1"
|
"$mod, mouse:276, movecurrentworkspacetomonitor, ${theme.displayLeft.input}"
|
||||||
"$mod, mouse:275, movecurrentworkspacetomonitor, DP-2"
|
"$mod, mouse:275, movecurrentworkspacetomonitor, ${theme.displayRight.input}"
|
||||||
|
|
||||||
# alt-tab between workspaces on active monitor
|
# alt-tab between workspaces on active monitor
|
||||||
"ALT, Tab, workspace, m+1"
|
"$mod, Tab, workspace, m+1"
|
||||||
"ALT SHIFT, Tab, workspace, m-1"
|
"$mod SHIFT, Tab, workspace, m-1"
|
||||||
|
|
||||||
"$mod, h, movefocus, l"
|
"$mod, h, movefocus, l"
|
||||||
"$mod, l, movefocus, r"
|
"$mod, l, movefocus, r"
|
||||||
@@ -112,9 +115,8 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"DP-1,3840x2160@240.00000,0x0,1"
|
"${theme.displayLeft.input},${theme.displayLeft.resolution}@${theme.displayLeft.refreshRate},0x0,1"
|
||||||
"DP-2,3840x2160@240.00000,3840x0,1"
|
"${theme.displayRight.input},${theme.displayRight.resolution}@${theme.displayRight.refreshRate},3840x0,1"
|
||||||
"HDMI-A-1,1920x1080@60.00000,0x0,1"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
@@ -178,27 +180,27 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
workspace = [
|
workspace = [
|
||||||
"name:firefox, monitor:DP-2, default:false, special, class:(.*firefox.*)"
|
"name:firefox, monitor:${theme.displayRight.input}, default:false, special, class:(.*firefox.*)"
|
||||||
"name:discord, monitor:DP-2, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)"
|
"name:discord, monitor:${theme.displayRight.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)"
|
||||||
"name:steam, monitor:DP-1, default:false, special, class:(.*[Ss]team.*)"
|
"name:steam, monitor:${theme.displayLeft.input}, default:false, special, class:(.*[Ss]team.*)"
|
||||||
];
|
];
|
||||||
|
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"float, title:(file_progress)"
|
"float, title:(file_progress)"
|
||||||
"float, title:(.*confirm.*)"
|
"float, title:(.*[Cc]onfirm.*)"
|
||||||
"float, title:(.*dialog.*)"
|
"float, title:(.*[Dd]ialog.*)"
|
||||||
"float, title:(.*download.*)"
|
"float, title:(.*[Dd]ownload.*)"
|
||||||
"float, title:(.*notification.*)"
|
"float, title:(.*[Nn]otification.*)"
|
||||||
"float, title:(.*error.*)"
|
"float, title:(.*[Ee]rror.*)"
|
||||||
"float, title:(.*splash.*)"
|
"float, title:(.*[Ss]plash.*)"
|
||||||
"float, title:(.*confirmreset.*)"
|
"float, title:(.*[Cc]onfirmreset.*)"
|
||||||
"float, title:(.*Open File.*)"
|
"float, title:(.*[Oo]pen [Ff]ile.*)"
|
||||||
"float, title:(.*branchdialog.*)"
|
"float, title:(.*branchdialog.*)"
|
||||||
"float, class:(.*pavucontrol)"
|
"float, class:(.*pavucontrol.*)"
|
||||||
"move onscreen cursor 0% 0%, class:(.*pavucontrol)"
|
"move onscreen cursor 0% 0%, class:(.*pavucontrol.*)"
|
||||||
"float, class:(.*FileRoller)"
|
"float, class:(.*FileRoller.*)"
|
||||||
"float, class:(.*wlogout)"
|
"float, class:(.*wlogout.*)"
|
||||||
"idleinhibit stayfocused, title:(.*mpv)"
|
"idleinhibit stayfocused, title:(.*mpv.*)"
|
||||||
|
|
||||||
"float, title:(Media viewer)"
|
"float, title:(Media viewer)"
|
||||||
"float, class:(it.mijorus.smile),title:(Smile)"
|
"float, class:(it.mijorus.smile),title:(Smile)"
|
||||||
@@ -226,10 +228,11 @@ in
|
|||||||
# Game Tearing??? https://wiki.hyprland.org/Configuring/Tearing/
|
# Game Tearing??? https://wiki.hyprland.org/Configuring/Tearing/
|
||||||
"immediate, class:(.*gamescope)"
|
"immediate, class:(.*gamescope)"
|
||||||
|
|
||||||
# todo properly fix this shit instead of using gamescope
|
|
||||||
# vmware
|
# vmware
|
||||||
"tag +horizonrdp, class:(Remote Desktop Connection),title:(BBar)"
|
# this tag will set the below options to the vdi window
|
||||||
"tag +horizonrdp, class:(Remote Desktop Connection),title:(Remote Desktop Connection)"
|
# this will have it auto open as a 2160x7680 window
|
||||||
|
# and makes multi-monitor work
|
||||||
|
"tag +horizonrdp, class:(.*[Vv][Mm]ware-view),title:(USPS Next VDI)"
|
||||||
|
|
||||||
"noanim, tag:horizonrdp"
|
"noanim, tag:horizonrdp"
|
||||||
"noblur, tag:horizonrdp"
|
"noblur, tag:horizonrdp"
|
||||||
@@ -240,11 +243,12 @@ in
|
|||||||
"noborder, tag:horizonrdp"
|
"noborder, tag:horizonrdp"
|
||||||
"nodim, tag:horizonrdp"
|
"nodim, tag:horizonrdp"
|
||||||
"nomaxsize, tag:horizonrdp"
|
"nomaxsize, tag:horizonrdp"
|
||||||
|
"renderunfocused, tag:horizonrdp"
|
||||||
"float, class:(.*Vmware-view),title:(VMware Horizon Client"
|
"idleinhibit, tag:horizonrdp"
|
||||||
"float, class:(Remote Desktop Connection),title:(.*Remote Desktop Connection.*)"
|
"float, tag:horizonrdp"
|
||||||
"float, class:(Remote Desktop Connection),title:(.*5cd238b4x0.*)"
|
"size 2160 7680, tag:horizonrdp"
|
||||||
"float, class:(Credential Manager UI Host),title:(.*Windows Security.*)"
|
# float the vmware window cause its annoying to use in fullscreen
|
||||||
|
"float, class:(.*[Vv][Mm]ware-view),title:([Vv][Mm]ware [Hh]orizon [Cc]lient)"
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
theme = import ../../theme.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
font = "monospace 12";
|
font = theme.fontName;
|
||||||
icons = false;
|
icons = false;
|
||||||
ignore-timeout = true;
|
ignore-timeout = true;
|
||||||
sort = "-time";
|
sort = "-time";
|
||||||
|
|||||||
@@ -1,62 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
theme = import ../../theme.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.wofi = {
|
programs.wofi = {
|
||||||
enable = false;
|
enable = true;
|
||||||
style = ''
|
style = ''
|
||||||
@define-color rosewater #f4dbd6;
|
|
||||||
@define-color rosewater-rgb rgb(244, 219, 214);
|
|
||||||
@define-color flamingo #f0c6c6;
|
|
||||||
@define-color flamingo-rgb rgb(240, 198, 198);
|
|
||||||
@define-color pink #f5bde6;
|
|
||||||
@define-color pink-rgb rgb(245, 189, 230);
|
|
||||||
@define-color mauve #c6a0f6;
|
|
||||||
@define-color mauve-rgb rgb(198, 160, 246);
|
|
||||||
@define-color red #ed8796;
|
|
||||||
@define-color red-rgb rgb(237, 135, 150);
|
|
||||||
@define-color maroon #ee99a0;
|
|
||||||
@define-color maroon-rgb rgb(238, 153, 160);
|
|
||||||
@define-color peach #f5a97f;
|
|
||||||
@define-color peach-rgb rgb(245, 169, 127);
|
|
||||||
@define-color yellow #eed49f;
|
|
||||||
@define-color yellow-rgb rgb(238, 212, 159);
|
|
||||||
@define-color green #a6da95;
|
|
||||||
@define-color green-rgb rgb(166, 218, 149);
|
|
||||||
@define-color teal #8bd5ca;
|
|
||||||
@define-color teal-rgb rgb(139, 213, 202);
|
|
||||||
@define-color sky #91d7e3;
|
|
||||||
@define-color sky-rgb rgb(145, 215, 227);
|
|
||||||
@define-color sapphire #7dc4e4;
|
|
||||||
@define-color sapphire-rgb rgb(125, 196, 228);
|
|
||||||
@define-color blue #8aadf4;
|
|
||||||
@define-color blue-rgb rgb(138, 173, 244);
|
|
||||||
@define-color lavender #b7bdf8;
|
|
||||||
@define-color lavender-rgb rgb(183, 189, 248);
|
|
||||||
@define-color text #cad3f5;
|
|
||||||
@define-color text-rgb rgb(202, 211, 245);
|
|
||||||
@define-color subtext1 #b8c0e0;
|
|
||||||
@define-color subtext1-rgb rgb(184, 192, 224);
|
|
||||||
@define-color subtext0 #a5adcb;
|
|
||||||
@define-color subtext0-rgb rgb(165, 173, 203);
|
|
||||||
@define-color overlay2 #939ab7;
|
|
||||||
@define-color overlay2-rgb rgb(147, 154, 183);
|
|
||||||
@define-color overlay1 #8087a2;
|
|
||||||
@define-color overlay1-rgb rgb(128, 135, 162);
|
|
||||||
@define-color overlay0 #6e738d;
|
|
||||||
@define-color overlay0-rgb rgb(110, 115, 141);
|
|
||||||
@define-color surface2 #5b6078;
|
|
||||||
@define-color surface2-rgb rgb(91, 96, 120);
|
|
||||||
@define-color surface1 #494d64;
|
|
||||||
@define-color surface1-rgb rgb(73, 77, 100);
|
|
||||||
@define-color surface0 #363a4f;
|
|
||||||
@define-color surface0-rgb rgb(54, 58, 79);
|
|
||||||
@define-color base #24273a;
|
|
||||||
@define-color base-rgb rgb(36, 39, 58);
|
|
||||||
@define-color mantle #1e2030;
|
|
||||||
@define-color mantle-rgb rgb(30, 32, 48);
|
|
||||||
@define-color crust #181926;
|
|
||||||
@define-color crust-rgb rgb(24, 25, 38);
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: "Inconsolata Nerd Font", monospace;
|
font-family: "${theme.fontName}", monospace;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,9 +15,9 @@
|
|||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: 0.16em solid @lavender;
|
border: 0.16em solid ${theme.nord.aurora.nord15};
|
||||||
border-radius: 0.1em;
|
border-radius: 0.1em;
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inner Box */
|
/* Inner Box */
|
||||||
@@ -74,7 +25,7 @@
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Outer Box */
|
/* Outer Box */
|
||||||
@@ -82,7 +33,7 @@
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scroll */
|
/* Scroll */
|
||||||
@@ -90,7 +41,7 @@
|
|||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Input */
|
/* Input */
|
||||||
@@ -99,46 +50,46 @@
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0.1em;
|
border-radius: 0.1em;
|
||||||
color: @text;
|
color: ${theme.nord.snowStorm.nord6};
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
color: @red;
|
color: ${theme.nord.aurora.nord11};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input * {
|
#input * {
|
||||||
outline: 4px solid @red!important;
|
outline: 4px solid ${theme.nord.aurora.nord11}!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text */
|
/* Text */
|
||||||
#text {
|
#text {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border: none;
|
border: none;
|
||||||
color: @text;
|
color: ${theme.nord.snowStorm.nord6};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry {
|
#entry {
|
||||||
background-color: @base;
|
background-color: ${theme.nord.polarNight.nord0};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry arrow {
|
#entry arrow {
|
||||||
border: none;
|
border: none;
|
||||||
color: @lavender;
|
color: ${theme.nord.aurora.nord15};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Selected Entry */
|
/* Selected Entry */
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: 0.11em solid @lavender;
|
border: 0.11em solid ${theme.nord.aurora.nord15};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @mauve;
|
color: ${theme.nord.frost.nord7};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:drop(active) {
|
#entry:drop(active) {
|
||||||
background-color: @lavender!important;
|
background-color: ${theme.nord.aurora.nord15}!important;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
sddmTheme = "catppuccin-mocha";
|
# sddmTheme = "catppuccin-mocha";
|
||||||
|
theme = import ./theme.nix { inherit pkgs; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -14,15 +15,19 @@ in
|
|||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.kdePackages.sddm;
|
package = pkgs.kdePackages.sddm;
|
||||||
theme = sddmTheme;
|
theme = theme.sddmTheme;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
};
|
};
|
||||||
|
# Disable gdm
|
||||||
gdm.enable = lib.mkForce false;
|
gdm.enable = lib.mkForce false;
|
||||||
defaultSession = "hyprland";
|
defaultSession = "hyprland";
|
||||||
};
|
};
|
||||||
# disable plasma
|
|
||||||
desktopManager.plasma6.enable = lib.mkForce false;
|
# disable other desktops
|
||||||
desktopManager.gnome.enable = lib.mkForce false;
|
desktopManager = {
|
||||||
|
plasma6.enable = lib.mkForce false;
|
||||||
|
gnome.enable = lib.mkForce false;
|
||||||
|
};
|
||||||
|
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
|
|
||||||
@@ -31,13 +36,15 @@ in
|
|||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.hyprland = {
|
programs = {
|
||||||
enable = true;
|
hyprland = {
|
||||||
xwayland.enable = true;
|
enable = true;
|
||||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
xwayland.enable = true;
|
||||||
};
|
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
|
||||||
programs.nm-applet.enable = true;
|
nm-applet.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
user.services.polkit-gnome-authentication-agent-1 = {
|
user.services.polkit-gnome-authentication-agent-1 = {
|
||||||
@@ -84,8 +91,8 @@ in
|
|||||||
wlr.enable = false;
|
wlr.enable = false;
|
||||||
xdgOpenUsePortal = false;
|
xdgOpenUsePortal = false;
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -11,15 +11,10 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
unstable.adwaita-icon-theme
|
|
||||||
apple-cursor
|
|
||||||
catppuccin-sddm
|
|
||||||
colloid-gtk-theme
|
|
||||||
colloid-icon-theme
|
|
||||||
ddcutil
|
ddcutil
|
||||||
dunst
|
dunst
|
||||||
egl-wayland
|
egl-wayland
|
||||||
unstable.file-roller
|
file-roller
|
||||||
glib
|
glib
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
gnome-disk-utility
|
gnome-disk-utility
|
||||||
@@ -32,14 +27,13 @@ in
|
|||||||
libnotify
|
libnotify
|
||||||
mako
|
mako
|
||||||
meson
|
meson
|
||||||
unstable.nautilus
|
nautilus
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
nm-tray
|
nm-tray
|
||||||
nwg-dock-hyprland
|
nwg-dock-hyprland
|
||||||
nwg-drawer
|
nwg-drawer
|
||||||
nwg-look
|
nwg-look
|
||||||
pamixer
|
pamixer
|
||||||
papirus-folders
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
playerctl
|
playerctl
|
||||||
polkit
|
polkit
|
||||||
|
|||||||
@@ -1,28 +1,7 @@
|
|||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
theme = import ./theme.nix { inherit pkgs; };
|
||||||
wallpaper = "/home/matt/.config/wallpapers/wall.png";
|
wallpaper = "/home/matt/.config/wallpapers/wall.png";
|
||||||
cursorTheme = "macOS";
|
|
||||||
cursorThemePkg = pkgs.apple-cursor;
|
|
||||||
cursorSize = 24;
|
|
||||||
gtkThemeSize = "compact";
|
|
||||||
gtkThemeAccent = "all";
|
|
||||||
gtkThemeVariant = "nord";
|
|
||||||
gtkThemeColor = "dark";
|
|
||||||
gtkTheme = "Colloid-Dark-Compact-Nord";
|
|
||||||
gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
|
||||||
sizeVariants = [ gtkThemeSize ];
|
|
||||||
colorVariants = [ gtkThemeColor ];
|
|
||||||
themeVariants = [ gtkThemeAccent ];
|
|
||||||
tweaks = [ gtkThemeVariant ];
|
|
||||||
};
|
|
||||||
# iconThemeColor = "dark"; # "" "light" "dark"
|
|
||||||
# iconThemeVariant = ""; # "" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey"
|
|
||||||
iconThemeScheme = "nord"; # "" "nord" "dracula" "gruvbox" "everforest" "catppuccin"
|
|
||||||
iconTheme = "Colloid-Nord-Dark";
|
|
||||||
iconThemePkg = pkgs.colloid-icon-theme.override {
|
|
||||||
schemeVariants = [ iconThemeScheme ];
|
|
||||||
colorVariants = [ "default" ];
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -119,8 +98,8 @@ in
|
|||||||
settings = {
|
settings = {
|
||||||
preload = [ wallpaper ];
|
preload = [ wallpaper ];
|
||||||
wallpaper = [
|
wallpaper = [
|
||||||
"DP-1, ${wallpaper}"
|
"${theme.displayLeft.input}, ${wallpaper}"
|
||||||
"DP-2, ${wallpaper}"
|
"${theme.displayRight.input}, ${wallpaper}"
|
||||||
];
|
];
|
||||||
splash = false;
|
splash = false;
|
||||||
};
|
};
|
||||||
@@ -142,16 +121,16 @@ in
|
|||||||
# on-resume = "brightnessctl -r"; # monitor backlight restore.
|
# on-resume = "brightnessctl -r"; # monitor backlight restore.
|
||||||
# }
|
# }
|
||||||
{
|
{
|
||||||
timeout = 900; # 15 min
|
timeout = theme.lockScreenTimer;
|
||||||
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 930; # 15.5 min
|
timeout = theme.screenOffTimer;
|
||||||
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
|
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
|
||||||
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
|
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 3600; # 1hr
|
timeout = theme.suspendTimer;
|
||||||
on-timeout = "systemctl suspend"; # suspend pc
|
on-timeout = "systemctl suspend"; # suspend pc
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@@ -159,55 +138,58 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.hyprlock = {
|
programs = {
|
||||||
enable = true;
|
hyprlock = {
|
||||||
settings = {
|
enable = true;
|
||||||
background = [
|
settings = {
|
||||||
{
|
background = [
|
||||||
monitor = "";
|
{
|
||||||
path = wallpaper; # supports png, jpg, webp (no animations, though)
|
monitor = "";
|
||||||
color = "rgba(25, 20, 20, 1.0)";
|
path = wallpaper; # supports png, jpg, webp (no animations, though)
|
||||||
|
color = "rgba(25, 20, 20, 1.0)";
|
||||||
|
|
||||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||||
blur_passes = "3"; # 0 disables blurring
|
blur_passes = "3"; # 0 disables blurring
|
||||||
blur_size = "7";
|
blur_size = "7";
|
||||||
noise = "0.0117";
|
noise = "0.0117";
|
||||||
contrast = "0.8916";
|
contrast = "0.8916";
|
||||||
brightness = "0.8172";
|
brightness = "0.8172";
|
||||||
vibrancy = "0.1696";
|
vibrancy = "0.1696";
|
||||||
vibrancy_darkness = "0.0";
|
vibrancy_darkness = "0.0";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
input-field = [
|
input-field = [
|
||||||
{
|
{
|
||||||
size = "200, 50";
|
size = "200, 50";
|
||||||
position = "0, -80";
|
position = "0, -80";
|
||||||
monitor = "DP-1";
|
monitor = theme.displayLeft.input;
|
||||||
dots_center = true;
|
dots_center = true;
|
||||||
fade_on_empty = true;
|
fade_on_empty = true;
|
||||||
font_color = "rgb(202, 211, 245)";
|
font_color = "rgb(202, 211, 245)";
|
||||||
inner_color = "rgb(91, 96, 120)";
|
inner_color = "rgb(91, 96, 120)";
|
||||||
outer_color = "rgb(24, 25, 38)";
|
outer_color = "rgb(24, 25, 38)";
|
||||||
bothlock_color = -1;
|
bothlock_color = -1;
|
||||||
outline_thickness = 5;
|
outline_thickness = 5;
|
||||||
placeholder_text = ''<span foreground="##cad3f5">Password...</span>'';
|
placeholder_text = ''<span foreground="##cad3f5">Password...</span>'';
|
||||||
shadow_passes = 2;
|
shadow_passes = 2;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
vscode.profiles.default.userSettings."window"."titleBarStyle" = "custom";
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
BROWSER = "firefox";
|
BROWSER = "firefox";
|
||||||
CLUTTER_BACKEND = "wayland";
|
CLUTTER_BACKEND = "wayland";
|
||||||
EDITOR = "nano";
|
EDITOR = "micro";
|
||||||
ICON_THEME = iconTheme;
|
ICON_THEME = theme.iconTheme;
|
||||||
GTK_CSD = "0";
|
GTK_CSD = "0";
|
||||||
GTK_THEME = gtkTheme;
|
GTK_THEME = theme.gtkTheme;
|
||||||
GTK_USE_PORTAL = "1";
|
GTK_USE_PORTAL = "1";
|
||||||
HYPRCURSOR_THEME = cursorTheme;
|
HYPRCURSOR_THEME = theme.cursorTheme;
|
||||||
HYPRCURSOR_SIZE = cursorSize;
|
HYPRCURSOR_SIZE = theme.cursorSize;
|
||||||
MOZ_ENABLE_WAYLAND = "1";
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||||
@@ -218,8 +200,8 @@ in
|
|||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
XCURSOR_THEME = cursorTheme;
|
XCURSOR_THEME = theme.cursorTheme;
|
||||||
XCURSOR_SIZE = cursorSize;
|
XCURSOR_SIZE = theme.cursorSize;
|
||||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
@@ -230,19 +212,21 @@ in
|
|||||||
|
|
||||||
pointerCursor = {
|
pointerCursor = {
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
package = cursorThemePkg;
|
package = theme.cursorThemePkg;
|
||||||
name = cursorTheme;
|
name = theme.cursorTheme;
|
||||||
size = cursorSize;
|
size = theme.cursorSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages = theme.requiredPkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||||
"org/gnome/desktop/interface".cursor-theme = cursorTheme;
|
"org/gnome/desktop/interface".cursor-theme = theme.cursorTheme;
|
||||||
"org/gnome/desktop/interface".gtk-theme = gtkTheme;
|
"org/gnome/desktop/interface".gtk-theme = theme.gtkTheme;
|
||||||
"org/gnome/desktop/interface".icon-theme = iconTheme;
|
"org/gnome/desktop/interface".icon-theme = theme.iconTheme;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -250,18 +234,18 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
name = cursorTheme;
|
name = theme.cursorTheme;
|
||||||
package = cursorThemePkg;
|
package = theme.cursorThemePkg;
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = {
|
theme = {
|
||||||
name = gtkTheme;
|
name = theme.gtkTheme;
|
||||||
package = gtkThemePkg;
|
package = theme.gtkThemePkg;
|
||||||
};
|
};
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = iconTheme;
|
name = theme.iconTheme;
|
||||||
package = iconThemePkg;
|
package = theme.iconThemePkg;
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk3.extraConfig = {
|
gtk3.extraConfig = {
|
||||||
@@ -273,9 +257,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
font = {
|
font = {
|
||||||
name = "JetBrainsMono NFM";
|
name = theme.fontName;
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
package = theme.fontPackage;
|
||||||
size = 12;
|
size = theme.fontSize;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
103
modules/desktop-environments/hyprland/theme.nix
Normal file
103
modules/desktop-environments/hyprland/theme.nix
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
themeSize = "compact"; # [ "standard" "compact" ]
|
||||||
|
themeAccent = "all"; # [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]
|
||||||
|
themeVariant = "nord"; # [ "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" "black" "rimless" "normal" "float" ]
|
||||||
|
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
|
||||||
|
displayLeft = {
|
||||||
|
input = "DP-1";
|
||||||
|
resolution = "3840x2160";
|
||||||
|
refreshRate = "240.00000";
|
||||||
|
};
|
||||||
|
displayRight = {
|
||||||
|
input = "DP-2";
|
||||||
|
resolution = "3840x2160";
|
||||||
|
refreshRate = "240.00000";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Cursor
|
||||||
|
cursorTheme = "macOS";
|
||||||
|
cursorThemePkg = pkgs.apple-cursor;
|
||||||
|
cursorSize = 24;
|
||||||
|
|
||||||
|
# GTK
|
||||||
|
gtkThemeSize = themeSize;
|
||||||
|
gtkThemeAccent = themeAccent;
|
||||||
|
gtkThemeVariant = themeVariant;
|
||||||
|
gtkThemeColor = themeColor;
|
||||||
|
gtkTheme = "Colloid-Dark-Compact-Nord";
|
||||||
|
gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
||||||
|
sizeVariants = [ themeSize ];
|
||||||
|
colorVariants = [ themeColor ];
|
||||||
|
themeVariants = [ themeAccent ];
|
||||||
|
tweaks = [ themeVariant ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Icons
|
||||||
|
iconThemeScheme = iconScheme;
|
||||||
|
iconTheme = "Colloid-Nord-Dark";
|
||||||
|
iconThemePkg = pkgs.colloid-icon-theme.override {
|
||||||
|
schemeVariants = [ iconScheme ];
|
||||||
|
colorVariants = [ iconThemeVariant ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fontName = "JetBrainsMono NFM";
|
||||||
|
fontPackage = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
fontSize = 12;
|
||||||
|
|
||||||
|
# SDDM/Locking
|
||||||
|
sddmTheme = "astronaut";
|
||||||
|
lockScreenTimer = 900; # 15 min
|
||||||
|
screenOffTimer = 930; # 15.5 min
|
||||||
|
suspendTimer = 3600; # 1hr
|
||||||
|
|
||||||
|
# Packages needed for the theme(s)
|
||||||
|
requiredPkgs = with pkgs; [
|
||||||
|
adwaita-icon-theme
|
||||||
|
adwaita-icon-theme
|
||||||
|
apple-cursor
|
||||||
|
catppuccin
|
||||||
|
catppuccin-gtk
|
||||||
|
catppuccin-qt5ct
|
||||||
|
catppuccin-sddm
|
||||||
|
colloid-gtk-theme
|
||||||
|
colloid-icon-theme
|
||||||
|
papirus-folders
|
||||||
|
sddm-astronaut
|
||||||
|
];
|
||||||
|
|
||||||
|
# Nord colors
|
||||||
|
nord = {
|
||||||
|
polarNight = {
|
||||||
|
nord0 = "2e3440";
|
||||||
|
nord1 = "3b4252";
|
||||||
|
nord2 = "434c5e";
|
||||||
|
nord3 = "4c566a";
|
||||||
|
};
|
||||||
|
snowStorm = {
|
||||||
|
nord4 = "d8dee9";
|
||||||
|
nord5 = "e5e9f0";
|
||||||
|
nord6 = "eceff4";
|
||||||
|
};
|
||||||
|
frost = {
|
||||||
|
nord7 = "8fbcbb";
|
||||||
|
nord8 = "88c0d0";
|
||||||
|
nord9 = "81a1c1";
|
||||||
|
nord10 = "5e81ac";
|
||||||
|
};
|
||||||
|
aurora = {
|
||||||
|
nord11 = "bf616a";
|
||||||
|
nord12 = "d08770";
|
||||||
|
nord13 = "ebcb8b";
|
||||||
|
nord14 = "a3be8c";
|
||||||
|
nord15 = "b48ead";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
gitAliases = {
|
gitAliases = {
|
||||||
co = "checkout";
|
co = "checkout";
|
||||||
@@ -14,12 +14,8 @@ in
|
|||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.git.override { withLibsecret = true; };
|
|
||||||
userName = "mjallen18";
|
userName = "mjallen18";
|
||||||
userEmail = "matt.l.jallen@gmail.com";
|
userEmail = "matt.l.jallen@gmail.com";
|
||||||
aliases = gitAliases;
|
aliases = gitAliases;
|
||||||
extraConfig = {
|
|
||||||
credential.helper = "libsecret";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user