diff --git a/README.md b/README.md index 4fd44e3..7f3c2ec 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/home/scripts/scripts.nix b/home/scripts/scripts.nix index df511f3..891bb87 100644 --- a/home/scripts/scripts.nix +++ b/home/scripts/scripts.nix @@ -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 + ]; } diff --git a/home/variables/theme/blackish.nix b/home/variables/theme/blackish.nix new file mode 100644 index 0000000..9c1e418 --- /dev/null +++ b/home/variables/theme/blackish.nix @@ -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"; + }; + }; + +} diff --git a/home/variables/theme/config/template.nix b/home/variables/theme/config/template.nix index 6896cba..cd0cdfe 100644 --- a/home/variables/theme/config/template.nix +++ b/home/variables/theme/config/template.nix @@ -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"; diff --git a/home/variables/theme/default.nix b/home/variables/theme/default.nix index f8a4516..40e063c 100644 --- a/home/variables/theme/default.nix +++ b/home/variables/theme/default.nix @@ -1 +1 @@ -{ imports = [ ./nixy.nix ]; } +{ imports = [ ./blackish.nix ]; } diff --git a/home/waybar/default.nix b/home/waybar/default.nix index 637fc5b..27f746a 100644 --- a/home/waybar/default.nix +++ b/home/waybar/default.nix @@ -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}; + } ''; }; }