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
- [x] custom colors on all config files
- [ ] auto update
- [ ] auto remove old
- [ ] script to edit, rebuild, push
- [ ] import theme globally
- [ ] Variable user & homeDir
- [ ] Settings fzf
- [ ] 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
swww img $choosed_wallpaper
cp $choosed_wallpaper $HOME/.config/wallpaper/default.png
'';
menu = pkgs.writeShellScriptBin "menu" ''
@ -25,6 +26,10 @@ let
fi
'';
powermenu = pkgs.writeShellScriptBin "powermenu" ''
${pkgs.wlogout}/bin/wlogout
'';
wireguard-import = pkgs.writeShellScriptBin "wireguard-import" ''
nmcli connection import type wireguard file "$0"
'';
@ -69,5 +74,11 @@ let
'';
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 = {
waybar-transparent = mkOption {
type = types.bool;
description = "Does waybar have a transparent background?";
};
font = mkOption {
type = types.str;
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 ];
services = {
blueman-applet.enable = true;
@ -16,7 +16,7 @@
"margin-top" = config.theme.gaps-out;
"margin-left" = config.theme.gaps-out;
"margin-right" = config.theme.gaps-out;
height = 40;
height = 44;
modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ];
modules-right =
@ -30,6 +30,10 @@
"icon-size" = 25;
"tooltip-format" = "{title}";
};
"hyprland/window" = {
"format" = "{title:30}";
"max-length" = 30;
};
"hyprland/workspaces" = {
"on-click" = "activate";
@ -48,7 +52,7 @@
"active" = "󱓻";
"urgent" = "󱓻";
};
"persistent_workspaces" = {
"persistent-workspaces" = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
@ -82,7 +86,7 @@
"custom/logo" = {
format = " ";
tooltip = false;
"on-click" = "~/scripts/menu.sh";
on-click = "menu";
};
battery = {
@ -103,7 +107,7 @@
"custom/power" = {
format = "󰤆";
tooltip = false;
"on-click" = "wlogout";
on-click = "powermenu";
};
backlight = {
@ -114,135 +118,143 @@
};
};
style = ''
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: "${config.theme.font}";
color: #${config.theme.colors.fg};
font-weight: 700;
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: "${config.theme.font}";
color: #${config.theme.colors.fg};
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 {
background-color: #${config.theme.colors.bg};
transition-property: background-color;
transition-duration: 0.5s;
border-radius: ${toString config.theme.rounding}px;
font-size: 13px;
}
#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};
}
window#waybar.hidden {
opacity: 0.5;
}
#tray menu {
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
#workspaces {
background-color: transparent;
}
#custom-logo {
padding-right: 7px;
padding-left: 7px;
font-size: 15px;
color: #${config.theme.colors.primary-bg};
}
#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};
}
@keyframes blink {
to {
background-color: #f38ba8;
color: #181825;
}
}
#workspaces button.active {
color: #${config.theme.colors.primary-fg};
background-color: #${config.theme.colors.primary-bg};
}
#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;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
opacity: 0.8;
}
#battery.charging {
background-color: #1E1E2E;
color: #FBFBFB;
animation: none;
}
#workspaces button.urgent {
background-color: #${config.theme.colors.color1};
}
#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;
}
#custom-power {
background-color: #9978F8;
color: #0C0C0C;
}
tooltip {
border-radius: 8px;
padding: 15px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
tooltip {
border-radius: 8px;
padding: 15px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
tooltip label {
padding: 5px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
tooltip label {
padding: 5px;
background-color: #${config.theme.colors.alt-bg};
color: #${config.theme.colors.alt-fg};
}
'';
};
}