This commit is contained in:
Hadi 2024-03-12 22:03:42 +01:00
parent 98ecdbbcaa
commit 8e307bfea3
6 changed files with 208 additions and 129 deletions

View File

@ -4,7 +4,18 @@ This is my dotfiles repo. It's a work in progress, and I'm still learning how to
# TODOLIST # TODOLIST
- [x] custom colors on all config files - [ ] import theme globally
- [ ] auto update - [ ] Variable user & homeDir
- [ ] auto remove old - [ ] Settings fzf
- [ ] script to edit, rebuild, push - [ ] Symbolic links for own dotfiles in Nextcloud folder if exist
- [ ] Nixvim Alpha config
- [ ] Add shortcuts for nixos config
- [ ] Scripts:
- [ ] Edit
- [ ] Rebuild
- [ ] Update
- [ ] Garbage collector
- [ ] Ricing things
- [ ] Peaclock
- [ ] Spicetify
- [ ] Find a tui app for white noises (does that exist ? If not, I'll build my own)

View File

@ -15,6 +15,7 @@ let
--border-label "Wallpaper" ) || exit 1 --border-label "Wallpaper" ) || exit 1
swww img $choosed_wallpaper swww img $choosed_wallpaper
cp $choosed_wallpaper $HOME/.config/wallpaper/default.png
''; '';
menu = pkgs.writeShellScriptBin "menu" '' menu = pkgs.writeShellScriptBin "menu" ''
@ -25,6 +26,10 @@ let
fi fi
''; '';
powermenu = pkgs.writeShellScriptBin "powermenu" ''
${pkgs.wlogout}/bin/wlogout
'';
wireguard-import = pkgs.writeShellScriptBin "wireguard-import" '' wireguard-import = pkgs.writeShellScriptBin "wireguard-import" ''
nmcli connection import type wireguard file "$0" nmcli connection import type wireguard file "$0"
''; '';
@ -69,5 +74,11 @@ let
''; '';
in { in {
home.packages = with pkgs; [ wallpaper menu wireguard-import choose-output ]; home.packages = with pkgs; [
wallpaper
menu
wireguard-import
choose-output
powermenu
];
} }

View File

@ -0,0 +1,41 @@
{
imports = [ ./config/template.nix ];
theme = {
waybar-transparent = true;
font-mono = "FiraCode Nerd Font Mono";
font = "SFProDisplay Nerd Font";
rounding = 12;
gaps-in = 10;
gaps-out = 20;
border-size = 3;
colors = {
bg = "040409";
fg = "FCFCFC";
alt-bg = "101012";
alt-fg = "ECECEC";
primary-bg = "a158ff";
primary-fg = "000000";
secondary-bg = "4928B8";
secondary-fg = "000000";
color0 = "000000";
color1 = "f7768e";
color2 = "73daca";
color3 = "e0af68";
color4 = "7aa2f7";
color5 = "9978F8";
color6 = "7dcfff";
color7 = "E4E5E7";
color8 = "515878";
color9 = "f7869e";
color10 = "83eada";
color11 = "f0bf78";
color12 = "8ab2f7";
color13 = "A988F8";
color14 = "8ddfff";
color15 = "f4f5f7";
};
};
}

View File

@ -5,6 +5,10 @@ with lib;
{ {
options.theme = { options.theme = {
waybar-transparent = mkOption {
type = types.bool;
description = "Does waybar have a transparent background?";
};
font = mkOption { font = mkOption {
type = types.str; type = types.str;
description = "Default font"; description = "Default font";

View File

@ -1 +1 @@
{ imports = [ ./nixy.nix ]; } { imports = [ ./blackish.nix ]; }

View File

@ -1,4 +1,4 @@
{ config, lib, ... }: { { pkgs, config, lib, ... }: {
imports = [ ../variables/theme ]; imports = [ ../variables/theme ];
services = { services = {
blueman-applet.enable = true; blueman-applet.enable = true;
@ -16,7 +16,7 @@
"margin-top" = config.theme.gaps-out; "margin-top" = config.theme.gaps-out;
"margin-left" = config.theme.gaps-out; "margin-left" = config.theme.gaps-out;
"margin-right" = config.theme.gaps-out; "margin-right" = config.theme.gaps-out;
height = 40; height = 44;
modules-left = [ "custom/logo" "hyprland/window" ]; modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ]; modules-center = [ "hyprland/workspaces" ];
modules-right = modules-right =
@ -30,6 +30,10 @@
"icon-size" = 25; "icon-size" = 25;
"tooltip-format" = "{title}"; "tooltip-format" = "{title}";
}; };
"hyprland/window" = {
"format" = "{title:30}";
"max-length" = 30;
};
"hyprland/workspaces" = { "hyprland/workspaces" = {
"on-click" = "activate"; "on-click" = "activate";
@ -48,7 +52,7 @@
"active" = "󱓻"; "active" = "󱓻";
"urgent" = "󱓻"; "urgent" = "󱓻";
}; };
"persistent_workspaces" = { "persistent-workspaces" = {
"1" = [ ]; "1" = [ ];
"2" = [ ]; "2" = [ ];
"3" = [ ]; "3" = [ ];
@ -82,7 +86,7 @@
"custom/logo" = { "custom/logo" = {
format = " "; format = " ";
tooltip = false; tooltip = false;
"on-click" = "~/scripts/menu.sh"; on-click = "menu";
}; };
battery = { battery = {
@ -103,7 +107,7 @@
"custom/power" = { "custom/power" = {
format = "󰤆"; format = "󰤆";
tooltip = false; tooltip = false;
"on-click" = "wlogout"; on-click = "powermenu";
}; };
backlight = { backlight = {
@ -114,135 +118,143 @@
}; };
}; };
style = '' style = ''
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: "${config.theme.font}"; font-family: "${config.theme.font}";
color: #${config.theme.colors.fg}; color: #${config.theme.colors.fg};
font-weight: 700; font-weight: 700;
}
window#waybar {
background-color: ${
if config.theme.waybar-transparent then
"rgba(0, 0, 0, 0)"
else
"#${config.theme.colors.bg}"
};
transition-property: background-color;
transition-duration: 0.5s;
border-radius: ${toString config.theme.rounding}px;
font-size: 13px;
}
.modules-left, .modules-center, .modules-right {
border-radius: ${toString config.theme.rounding}px;
background-color: #${config.theme.colors.bg};
padding: 2px 15px;
}
window#waybar.hidden {
opacity: 0.5;
}
#workspaces {
background-color: transparent;
}
#workspaces button {
all: initial; /* Remove GTK theme values (waybar #1351) */
min-width: 0; /* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */
padding: 6px 18px;
margin: 6px 3px;
border-radius: 4px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#workspaces button.active {
color: #${config.theme.colors.primary-fg};
background-color: #${config.theme.colors.primary-bg};
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
opacity: 0.8;
}
#workspaces button.urgent {
background-color: #${config.theme.colors.color1};
}
#window {
font-family: "${config.theme.font-mono}";
} }
window#waybar { #memory,
background-color: #${config.theme.colors.bg}; #custom-power,
transition-property: background-color; #battery,
transition-duration: 0.5s; #backlight,
border-radius: ${toString config.theme.rounding}px; #pulseaudio,
font-size: 13px; #network,
} #clock,
#tray,
#backlight{
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
window#waybar.hidden { #tray menu {
opacity: 0.5; background-color: #${config.theme.colors.alt-bg};
} color: #${config.theme.colors.alt-fg};
}
#workspaces { #custom-logo {
background-color: transparent; padding-right: 7px;
} padding-left: 7px;
font-size: 15px;
color: #${config.theme.colors.primary-bg};
}
#workspaces button { @keyframes blink {
all: initial; /* Remove GTK theme values (waybar #1351) */ to {
min-width: 0; /* Fix weird spacing in materia (waybar #450) */ background-color: #f38ba8;
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */ color: #181825;
padding: 6px 18px; }
margin: 6px 3px; }
border-radius: 4px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#workspaces button.active { #battery.warning,
color: #${config.theme.colors.primary-fg}; #battery.critical,
background-color: #${config.theme.colors.primary-bg}; #battery.urgent {
} background-color: #ff0048;
color: #181825;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#workspaces button:hover { #battery.charging {
box-shadow: inherit; background-color: #1E1E2E;
text-shadow: inherit; color: #FBFBFB;
opacity: 0.8; animation: none;
} }
#workspaces button.urgent { #custom-power {
background-color: #${config.theme.colors.color1}; background-color: #9978F8;
} color: #0C0C0C;
}
#memory,
#custom-power,
#battery,
#backlight,
#pulseaudio,
#network,
#clock,
#tray,
#backlight{
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#tray menu {
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#custom-power {
margin-right: 6px;
}
#custom-logo {
padding-right: 7px;
padding-left: 7px;
margin-left: 5px;
font-size: 15px;
border-radius: 8px 0px 0px 8px;
color: #${config.theme.colors.primary-bg};
}
@keyframes blink {
to {
background-color: #f38ba8;
color: #181825;
}
}
#battery.warning,
#battery.critical,
#battery.urgent {
background-color: #ff0048;
color: #181825;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.charging {
background-color: #1E1E2E;
color: #FBFBFB;
animation: none;
}
#custom-power {
background-color: #9978F8;
color: #0C0C0C;
margin-right: 7px;
}
tooltip { tooltip {
border-radius: 8px; border-radius: 8px;
padding: 15px; padding: 15px;
background-color: #${config.theme.colors.alt-bg}; background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg}; color: #${config.theme.colors.alt-fg};
} }
tooltip label { tooltip label {
padding: 5px; padding: 5px;
background-color: #${config.theme.colors.alt-bg}; background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg}; color: #${config.theme.colors.alt-fg};
} }
''; '';
}; };
} }