diff --git a/TODO.md b/TODO.md index 3f4519b..dc54965 100644 --- a/TODO.md +++ b/TODO.md @@ -47,7 +47,7 @@ - [ ] sddm theme - [ ] add new themes, and polish old ones (lain, rei, and psychopass) - [ ] ghostty configuration add -- [ ] change type of loading configuration using all .nix files in directory instead of manually specifing them +- [x] change type of loading configuration using all .nix files in directory instead of manually specifing them - [ ] update my home page and create new web - [ ] fix kde theme in stylix diff --git a/flake.nix b/flake.nix index ff51887..088bf79 100644 --- a/flake.nix +++ b/flake.nix @@ -12,17 +12,17 @@ shell = "zsh"; # bash, zsh terminal = "kitty"; # kitty, alacritty, gnome-terminal - browser = "zen"; # firefox, librewolf, qutebrowser, zen + browser = "librewolf"; # firefox, librewolf, qutebrowser, zen editor = "neovim"; # neovim, vscode # List all themes: $ nix build nixpkgs#base16-schemes && ls result/share/themes - theme = "catppuccin-mocha"; # catppuccin-mocha, tokyo-night-dark, one-dark, purple-dawn + theme = "catppuccin-mocha"; # catppuccin-mocha, lain-blue, one-dark, purple-dawn background = if userSettings.theme == "catppuccin-mocha" then "aurora_borealis.png" else if "evangelion-blood" == userSettings.theme then "evangelion.jpg" - else if "tokyo-night-dark" == userSettings.theme + else if "lain-blue" == userSettings.theme then "lain.png" else if "purple-dawn" == userSettings.theme then "purpledawn.png" diff --git a/kogami/configuration.nix b/kogami/configuration.nix index edf99b6..f1636d9 100644 --- a/kogami/configuration.nix +++ b/kogami/configuration.nix @@ -18,7 +18,7 @@ # Home manager home-manager = { extraSpecialArgs = {inherit inputs system pkgs pkgs-stable userSettings;}; - backupFileExtension = "bk"; + backupFileExtension = "backup"; users = { ${userSettings.username} = import ./home.nix; }; @@ -103,8 +103,6 @@ ++ ( with pkgs; [ gcc - corefonts - uutils-coreutils-noprefix ] ); diff --git a/kogami/home.nix b/kogami/home.nix index ffba049..bea4aea 100644 --- a/kogami/home.nix +++ b/kogami/home.nix @@ -82,8 +82,6 @@ enableBashIntegration = true; nix-direnv.enable = true; }; + home-manager.enable = true; }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; } diff --git a/masaoka/home.nix b/masaoka/home.nix index ffba049..1cb7b60 100644 --- a/masaoka/home.nix +++ b/masaoka/home.nix @@ -75,7 +75,7 @@ bat.enable = true; btop.enable = true; fzf.enable = true; - yazi.enable = true; + yazi.enable = false; direnv = { enable = true; enableZshIntegration = true; diff --git a/nixos/home/desktop/hyprland/dependencies.nix b/nixos/home/desktop/hyprland/dependencies.nix index 33c9be9..414a0de 100644 --- a/nixos/home/desktop/hyprland/dependencies.nix +++ b/nixos/home/desktop/hyprland/dependencies.nix @@ -31,6 +31,8 @@ wl-clipboard cliphist bc + pavucontrol + nautilus #swww diff --git a/nixos/home/desktop/hyprland/eww.nix b/nixos/home/desktop/hyprland/eww.nix index 35830a0..ca25140 100644 --- a/nixos/home/desktop/hyprland/eww.nix +++ b/nixos/home/desktop/hyprland/eww.nix @@ -565,10 +565,12 @@ in { if [[ ! -f "$FILE" ]]; then touch "$FILE" run_eww + killall waybar else ${EWW} --config "$CFG" close \ background profile system clock uptime music apps logout sleep reboot poweroff folders bluetooth rm "$FILE" + waybar & fi '') diff --git a/nixos/home/desktop/hyprland/hyprland.nix b/nixos/home/desktop/hyprland/hyprland.nix index 9b0c8ce..3bde12a 100644 --- a/nixos/home/desktop/hyprland/hyprland.nix +++ b/nixos/home/desktop/hyprland/hyprland.nix @@ -25,6 +25,8 @@ config = lib.mkIf config.desktop.hyprland.enable { desktop.hyprland = { waybar.enable = lib.mkDefault true; + hyprpanel.enable = lib.mkDefault false; + rofi = { enable = lib.mkDefault true; clipboard.enable = lib.mkDefault true; @@ -52,14 +54,14 @@ services.network-manager-applet.enable = true; services.playerctld.enable = true; #services.dunst.enable = true; - #services.swaync = { - # enable = true; - # settings = { - # fit-to-screen = false; - # control-center-height = 500; - # control-center-width = 250; - # }; - #}; + services.swaync = { + enable = true; + settings = { + fit-to-screen = false; + control-center-height = 500; + control-center-width = 250; + }; + }; # Home session variables home.sessionVariables = { diff --git a/nixos/home/desktop/hyprland/hyprlock.nix b/nixos/home/desktop/hyprland/hyprlock.nix index 4095333..4b64328 100644 --- a/nixos/home/desktop/hyprland/hyprlock.nix +++ b/nixos/home/desktop/hyprland/hyprlock.nix @@ -50,7 +50,7 @@ echo "$battery_percentage% $battery_icon" '') - (writeShellScriptBin "battery-hyprlock-legacy" '' + (writeShellScriptBin "maxbat" '' show_avg=0 show_charging=0 show_plugged=0 diff --git a/nixos/home/desktop/hyprland/hyprpanel/default.nix b/nixos/home/desktop/hyprland/hyprpanel/default.nix index 900e4bc..bf59b17 100644 --- a/nixos/home/desktop/hyprland/hyprpanel/default.nix +++ b/nixos/home/desktop/hyprland/hyprpanel/default.nix @@ -1,20 +1,28 @@ { inputs, pkgs, + lib, + config, ... }: { imports = [inputs.hyprpanel.homeManagerModules.hyprpanel]; - programs.hyprpanel = { - enable = true; - systemd.enable = true; - #overwrite.enable = true; - hyprland.enable = true; - settings = { - }; + options = { + desktop.hyprland.hyprpanel.enable = lib.mkEnableOption "Enable Hyprpanel"; }; - home.packages = with pkgs; [ - hyprpanel - ]; + config = lib.mkIf config.desktop.hyprland.hyprpanel.enable { + programs.hyprpanel = { + enable = false; + #systemd.enable = true; + #overwrite.enable = true; + hyprland.enable = false; + settings = { + }; + }; + + home.packages = with pkgs; [ + hyprpanel + ]; + }; } diff --git a/nixos/home/desktop/hyprland/waybar.nix b/nixos/home/desktop/hyprland/waybar.nix index fd0d788..ae3245d 100644 --- a/nixos/home/desktop/hyprland/waybar.nix +++ b/nixos/home/desktop/hyprland/waybar.nix @@ -21,14 +21,12 @@ mainBar = { layer = "bottom"; position = "top"; - height = 31; + height = 20; + margin-top = 2; exclusive = true; passthrough = false; gtk-layer-shell = true; reload_style_on_change = true; - output = [ - "eDP-1" - ]; modules-left = ["custom/padd" "custom/l_end" "cpu" "memory" "custom/r_end" "custom/l_end" "idle_inhibitor" "clock" "custom/r_end" "" "custom/padd"]; modules-center = ["custom/padd" "" "custom/l_end" "hyprland/workspaces" "hyprland/window" "custom/r_end" "custom/padd"]; modules-right = ["custom/padd" "custom/l_end" "backlight" "network" "bluetooth" "pulseaudio" "pulseaudio#microphone" "custom/r_end" "custom/l_end" "tray" "battery" "custom/r_end" "custom/l_end" "custom/notification" "custom/cliphist" "custom/power" "custom/r_end" "custom/padd"]; @@ -89,13 +87,10 @@ "bluetooth" = { format = ""; - #rotate": ${r_deg}, format-disabled = ""; format-connected = " {num_connections}"; format-connected-battery = "{icon} {num_connections}"; - # "format-connected-battery" = "{icon} {device_alias}-{device_battery_percentage}%"; format-icons = ["󰥇" "󰤾" "󰤿" "󰥀" "󰥁" "󰥂" "󰥃" "󰥄" "󰥅" "󰥆" "󰥈"]; - #"format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device. tooltip-format = "{controller_alias}\n{num_connections} connected"; tooltip-format-connected = "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}"; tooltip-format-enumerate-connected = "{device_alias}"; @@ -140,31 +135,22 @@ }; "battery" = { + interval = 1; states = { - good = 95; + okay = 60; warning = 30; - critical = 20; + critical = 15; + supercritical = 9; }; - format = "{icon} {capacity}%"; + format = "{icon}{capacity}%"; rotate = 0; - format-charging = " {capacity}%"; - format-plugged = " {capacity}%"; - format-alt = "{time} {icon}"; - format-icons = [ - "󰂎" - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; + format-charging = "{icon}󱐋{capacity}%"; + format-plugged = "{capacity}%"; + format-alt = "{icon}"; + format-icons = ["󰂃" "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; }; + "backlight" = { device = "intel_backlight"; rotate = 0; @@ -310,106 +296,59 @@ style = '' ${ - if (userSettings.theme == "catppuccin-mocha") - then "@define-color bar-bg rgba(0, 0, 0, 0); - @define-color main-bg #11111b; - @define-color main-fg #cdd6f4; - @define-color wb-act-bg #a6adc8; - @define-color wb-act-fg #313244; - @define-color wb-hvr-bg #f5c2e7; - @define-color wb-hvr-fg #313;" - else if userSettings.theme == "evangelion-blood" - then "@define-color bar-bg rgba(0, 0, 0, 0);" - else "" + if (userSettings.theme=="catppuccin-mocha") then " + @define-color main-text rgba(170, 170, 200, 0.9); + @define-color part-bg rgba(0, 0, 40, 0.5); + @define-color ws-fg rgba(200, 200, 200, 1); + @define-color ws-active-fg rgba(100, 255, 200, 1); + @define-color ws-active-bg rgba(100, 100, 100, 0.2); + @define-color ws-hover-fg rgba(255, 255, 255, 1); + @define-color ws-hover-bg rgba(150, 150, 150, 0.3);" + else if userSettings.theme=="lain-blue" + then " + @define-color main-text rgba(20, 150, 225, 0.9); + @define-color part-bg rgba(0, 40, 120, 0.5); + @define-color ws-fg rgba(200, 200, 200, 1); + @define-color ws-active-fg rgba(235, 235, 235, 1); + @define-color ws-active-bg rgba(100, 100, 100, 0.2); + @define-color ws-hover-fg rgba(255, 255, 255, 1); + @define-color ws-hover-bg rgba(150, 150, 150, 0.3);" + else if userSettings.theme=="evangelion-blood" + then " + @define-color main-text rgba(250, 85, 85, 0.9); + @define-color part-bg rgba(40, 0, 0, 0.5); + @define-color ws-fg rgba(200, 200, 200, 1); + @define-color ws-active-fg rgba(235, 235, 235, 1); + @define-color ws-active-bg rgba(200, 150, 150, 0.3); + @define-color ws-hover-fg rgba(255, 255, 255, 1); + @define-color ws-hover-bg rgba(250, 150, 150, 0.4);" + else if userSettings.theme=="purple-dawn" + then " + @define-color main-text rgba(200, 100, 200, 0.9); + @define-color part-bg rgba(30, 0, 40, 0.5); + @define-color ws-fg rgba(200, 100, 200, 1); + @define-color ws-active-fg rgba(255, 150, 200, 1); + @define-color ws-active-bg rgba(150, 100, 150, 0.4); + @define-color ws-hover-fg rgba(255, 175, 225, 1); + @define-color ws-hover-bg rgba(180, 120, 180, 0.5);" + else " + @define-color main-text rgba(200, 200, 200, 1); + @define-color part-bg rgba(0, 0, 0, 1); + @define-color ws-fg rgba(200, 200, 200, 1); + @define-color ws-active-fg rgba(235, 235, 235, 1); + @define-color ws-active-bg rgba(100, 100, 100, 0.4); + @define-color ws-hover-fg rgba(255, 255, 255, 1); + @define-color ws-hover-bg rgba(150, 150, 150, 0.5);" } + * { - border: none; - border-radius: 0px; - font-family: "JetBrainsMono Nerd Font"; - font-weight: bold; - font-size: 10px; - min-height: 10px; - } - - window#waybar { - background: @bar-bg; + border: none; + font-family: "JetBrainsMono Nerd Font"; + font-size: 12px; + min-height: 0; + font-weight: bold; } - tooltip { - background: @main-bg; - color: @main-fg; - border-radius: 7px; - border-width: 0px; - } - - #workspaces button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: @main-fg; - animation: ws_normal 20s ease-in-out 1; - } - - #workspaces button.active { - background: @wb-act-bg; - color: @wb-act-fg; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: ws_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - - #workspaces button:hover { - background: @wb-hvr-bg; - color: @wb-hvr-fg; - animation: ws_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - #taskbar button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: @wb-color; - animation: tb_normal 20s ease-in-out 1; - } - #taskbar button.active { - background: @wb-act-bg; - color: @wb-act-color; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: tb_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - #taskbar button:hover { - background: @wb-hvr-bg; - color: @wb-hvr-color; - animation: tb_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - #tray menu * { - min-height: 16px; - } - #tray menu separator { - min-height: 10px; - } #backlight, #battery, #bluetooth, @@ -433,56 +372,132 @@ #tray, #custom-updates, #custom-wallchange, - #custom-wbar, - #window, #workspaces, + #window, #custom-l_end, #custom-r_end, #custom-sl_end, #custom-sr_end, #custom-rl_end, #custom-rr_end { - color: @main-fg; - background: @main-bg; - opacity: 1; - margin: 4px 0px 4px 0px; - padding-left: 4px; - padding-right: 4px; - } - #workspaces, - #taskbar { - padding: 0px; - } + color: @main-text; + background: @part-bg; + padding-left: 4px; + padding-right: 4px; + margin: 0; + border: 0; + } + + window#waybar { + background: transparent; + } + + #workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @ws-fg; + } + + #workspaces button.active { + background: @ws-active-bg; + color: @ws-active-fg; + margin-left: 3px; + padding-left: 12px; + padding-right: 12px; + margin-right: 3px; + } + + #workspaces button:hover { + background: @ws-hover-bg; + color: @ws-hover-fg; + } + + tooltip { + color: @main-text; + background: @part-bg; + border-radius: 7px; + border-width: 0px; + } + #custom-r_end { - border-radius: 0px 21px 21px 0px; - margin-right: 9px; - padding-right: 3px; - } + border-radius: 0px 20px 20px 0px; + margin-right: 9px; + padding-right: 3px; + } + #custom-l_end { - border-radius: 21px 0px 0px 21px; - margin-left: 9px; - padding-left: 3px; - } + border-radius: 20px 0px 0px 20px; + margin-left: 9px; + padding-left: 3px; + } #custom-sr_end { - border-radius: 0px; - margin-right: 9px; - padding-right: 3px; - } + border-radius: 0px; + margin-right: 9px; + padding-right: 3px; + } + #custom-sl_end { - border-radius: 0px; - margin-left: 9px; - padding-left: 3px; - } + border-radius: 0px; + margin-left: 9px; + padding-left: 3px; + } + #custom-rr_end { - border-radius: 0px 7px 7px 0px; - margin-right: 9px; - padding-right: 3px; - } + border-radius: 0px 10px 10px 0px; + margin-right: 9px; + padding-right: 3px; + } + #custom-rl_end { - border-radius: 7px 0px 0px 7px; - margin-left: 9px; - padding-left: 3px; + border-radius: 10px 0px 0px 10px; + margin-left: 9px; + padding-left: 3px; + } + + #battery { + color: rgba(0, 150, 0, 0.9); + padding-left: 0; + } + + #battery.okay { + color: rgba(150, 150, 0, 0.9); + } + + #battery.warning { + color: rgba(250, 100, 0, 0.9); + } + + #battery.critical { + color: rgba(250, 0, 0, 0.9); + } + + @keyframes supercritical { + from { + background: rgba(100, 0, 0, 1); + } + + to { + background: rgba(250, 220, 0, 1); + } + } + + #battery.supercritical:not(.charging) { + color: #000; + background: rgba(100, 0, 0, 1); + animation: supercritical 0.2s infinite alternate; + } + + #battery.charging { + color: rgba(0, 150, 0, 0.9); } ''; }; diff --git a/nixos/home/packages/applications/vencord.nix b/nixos/home/packages/applications/vencord.nix index 39bb8d2..1f5c8d0 100644 --- a/nixos/home/packages/applications/vencord.nix +++ b/nixos/home/packages/applications/vencord.nix @@ -9,9 +9,7 @@ lib.mkEnableOption "Enable Vencord"; }; - imports = [ - inputs.nixcord.homeManagerModules.nixcord - ]; + imports = [inputs.nixcord.homeModules.nixcord]; config = lib.mkIf config.program.vencord.enable { services.arrpc.enable = true; diff --git a/nixos/home/packages/style.nix b/nixos/home/packages/style.nix index 1a07ff9..06205e0 100644 --- a/nixos/home/packages/style.nix +++ b/nixos/home/packages/style.nix @@ -38,7 +38,7 @@ waybar = { - enable = true; + enable = false; enableCenterBackColors = false; enableLeftBackColors = false; enableRightBackColors = false; diff --git a/nixos/home/packages/tools/fastfetch.nix b/nixos/home/packages/tools/fastfetch.nix index 9228709..9a15d23 100644 --- a/nixos/home/packages/tools/fastfetch.nix +++ b/nixos/home/packages/tools/fastfetch.nix @@ -21,7 +21,7 @@ settings = { "$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"; "logo" = - if userSettings.theme == "evangelion-blood" || userSettings.theme == "tokyo-night-dark" + if userSettings.theme == "evangelion-blood" || userSettings.theme == "lain-blue" then { "source" = "/home/shinya/.config/fastfetch/logo.png"; "width" = @@ -33,7 +33,10 @@ then 18 else 19; "padding" = { - "top" = if userSettings.theme == "evangelion-blood" then 1 else 0; + "top" = + if userSettings.theme == "evangelion-blood" || userSettings.theme == "lain-blue" + then 1 + else 0; }; } else { diff --git a/nixos/system/settings/fonts.nix b/nixos/system/settings/fonts.nix index 08055fd..e721973 100644 --- a/nixos/system/settings/fonts.nix +++ b/nixos/system/settings/fonts.nix @@ -14,6 +14,7 @@ noto-fonts-emoji nerd-fonts.jetbrains-mono monaspace + corefonts ]; }; } diff --git a/nixos/system/settings/style.nix b/nixos/system/settings/style.nix index 4e880a4..23ea447 100644 --- a/nixos/system/settings/style.nix +++ b/nixos/system/settings/style.nix @@ -54,7 +54,7 @@ base0E = "f0d0d0"; base0F = "f0e0e0"; } - else if userSettings.theme == "tokyo-night-dark" + else if userSettings.theme == "lain-blue" then { base00 = "011d33"; base01 = "1a4a6e"; @@ -138,13 +138,13 @@ logo = if userSettings.theme == "evangelion-blood" then ../../../config/nerv.png - else if (userSettings.theme == "tokyo-night-dark") + else if (userSettings.theme == "lain-blue") then ../../../config/copeland.png else if (userSettings.theme == "purple-dawn") then ../../../config/ram.png else ../../../config/mars.png; logoAnimated = - if "evangelion-blood" == userSettings.theme || "tokyo-night-dark" == userSettings.theme || "purple-dawn" == userSettings.theme + if "evangelion-blood" == userSettings.theme || "lain-blue" == userSettings.theme || "purple-dawn" == userSettings.theme then false else true; };