diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index 9a47b27..c7acf01 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -72,7 +72,7 @@ bindul = , XF86AudioMute, exec, hypr volume toggle bindul = , XF86MonBrightnessUp, exec, hypr brightness up bindul = , XF86MonBrightnessDown, exec, hypr brightness down -bind = ALT, SPACE, exec, walker +bind = ALT, SPACE, exec, rofi -show run bind = ALT, TAB, workspace, previous bind = ALT, A, cyclenext bind = ALT, B, exec, pkill -USR1 waybar || waybar diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 8211c15..d8e487e 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -2,6 +2,7 @@ "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" }, "cp.nvim": { "branch": "main", "commit": "029ea125b97320ff5c2884bf84bf5aa4e7077c79" }, "dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "fzf-lua": { "branch": "main", "commit": "fb8c50ba62a0daa433b7ac2b78834f318322b879" }, "guard.nvim": { "branch": "main", "commit": "addb8d2f40662b8b62d60dd7d18f503beb2332e7" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, @@ -13,6 +14,7 @@ "mini.bufremove": { "branch": "main", "commit": "10857aa39160c127694151828914df3131ba83b6" }, "mini.misc": { "branch": "main", "commit": "b647b64321c34d4868d158282bb89e49f0d6838b" }, "mini.pairs": { "branch": "main", "commit": "4089aa6ea6423e02e1a8326a7a7a00159f6f5e04" }, + "neogit": { "branch": "master", "commit": "75ca811db3ca3e43137596d25d26e57331540ee0" }, "nvim-colorizer.lua": { "branch": "master", "commit": "338409dd8a6ed74767bad3eb5269f1b903ffb3cf" }, "nvim-lspconfig": { "branch": "master", "commit": "f4e9d367d4e067d7a5fabc9fd3f1349b291eb718" }, "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" }, @@ -22,6 +24,7 @@ "nvim-vtsls": { "branch": "main", "commit": "0b5f73c9e50ce95842ea07bb3f05c7d66d87d14a" }, "oil.nvim": { "branch": "master", "commit": "f55b25e493a7df76371cfadd0ded5004cb9cd48a" }, "overseer.nvim": { "branch": "master", "commit": "392093e610333c0aea89bf43de7362e25783eada" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "treesj": { "branch": "main", "commit": "186084dee5e9c8eec40f6e39481c723dd567cb05" }, "typst-preview.nvim": { "branch": "master", "commit": "e123a7ab64e52d836e00dea9251e85b201f38966" }, "vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" }, diff --git a/config/nvim/lua/plugins/git.lua b/config/nvim/lua/plugins/git.lua index f62d97e..ff92d56 100644 --- a/config/nvim/lua/plugins/git.lua +++ b/config/nvim/lua/plugins/git.lua @@ -61,9 +61,21 @@ return { { dir = '~/dev/diffs.nvim', enabled = true, + dependencies = { + 'NeogitOrg/neogit', + 'sindrets/diffview.nvim', + }, init = function() vim.g.diffs = { - filetypes = { 'fugitive', 'git', 'gitcommit', 'diff' }, + filetypes = { + 'fugitive', + 'git', + 'gitcommit', + 'diff', + 'NeogitStatus', + 'NeogitCommitView', + 'NeogitDiffView', + }, hide_prefix = true, highlights = { vim = { @@ -77,6 +89,23 @@ return { } end, }, + { + 'NeogitOrg/neogit', + dependencies = { + 'nvim-lua/plenary.nvim', + 'sindrets/diffview.nvim', + }, + cmd = 'Neogit', + opts = { + integrations = { + diffview = true, + }, + }, + }, + { + 'sindrets/diffview.nvim', + cmd = { 'DiffviewOpen', 'DiffviewFileHistory' }, + }, { 'ibhagwan/fzf-lua', keys = { diff --git a/config/walker/themes/daylight/style.css b/config/walker/themes/daylight/style.css deleted file mode 100644 index 622df2c..0000000 --- a/config/walker/themes/daylight/style.css +++ /dev/null @@ -1,61 +0,0 @@ -* { - font-family: "SF Pro Display", sans-serif; - font-size: 16px; -} - -window { - background: transparent; -} - -#box { - background: #f5f5f5; - border: 2px solid #e8e8e8; - border-radius: 0; -} - -#search { - background: #f5f5f5; - border-radius: 0; -} - -#input { - background: #f5f5f5; - color: #1a1a1a; - border-radius: 0; - padding: 10px; -} - -#input:focus { - outline: none; - box-shadow: none; -} - -#list { - background: #f5f5f5; -} - -row { - padding: 6px 10px; - background: #f5f5f5; - color: #1a1a1a; - border-radius: 0; -} - -row:selected { - background: #ebebeb; - color: #1a1a1a; -} - -.activation-label { - color: #999999; -} - -#typeahead { - color: #999999; - background: transparent; -} - -scrollbar, -scrollbar slider { - opacity: 0; -} diff --git a/config/walker/themes/midnight/style.css b/config/walker/themes/midnight/style.css deleted file mode 100644 index 92c03bc..0000000 --- a/config/walker/themes/midnight/style.css +++ /dev/null @@ -1,61 +0,0 @@ -* { - font-family: "SF Pro Display", sans-serif; - font-size: 16px; -} - -window { - background: transparent; -} - -#box { - background: #121212; - border: 2px solid #3d3d3d; - border-radius: 0; -} - -#search { - background: #121212; - border-radius: 0; -} - -#input { - background: #121212; - color: #e0e0e0; - border-radius: 0; - padding: 10px; -} - -#input:focus { - outline: none; - box-shadow: none; -} - -#list { - background: #121212; -} - -row { - padding: 6px 10px; - background: #121212; - color: #e0e0e0; - border-radius: 0; -} - -row:selected { - background: #2d2d2d; - color: #e0e0e0; -} - -.activation-label { - color: #666666; -} - -#typeahead { - color: #666666; - background: transparent; -} - -scrollbar, -scrollbar slider { - opacity: 0; -} diff --git a/flake.nix b/flake.nix index dbf7bde..3af2134 100644 --- a/flake.nix +++ b/flake.nix @@ -11,12 +11,6 @@ neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; claude-code.url = "github:ryoppippi/claude-code-overlay"; - elephant.url = "github:abenz1267/elephant"; - walker = { - url = "github:abenz1267/walker"; - inputs.elephant.follows = "elephant"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = @@ -27,8 +21,6 @@ neovim-nightly, zen-browser, claude-code, - elephant, - walker, ... }: let @@ -95,7 +87,7 @@ home-manager.lib.homeManagerConfiguration { pkgs = mkPkgs hostConfig.platform [ ]; extraSpecialArgs = { - inherit zen-browser walker hostConfig; + inherit zen-browser hostConfig; }; modules = [ ./home/home.nix ]; }; @@ -127,7 +119,7 @@ home-manager.backupFileExtension = "bak"; home-manager.users.barrett = import ./home/home.nix; home-manager.extraSpecialArgs = { - inherit zen-browser walker; + inherit zen-browser; hostConfig = xps15Config; }; } diff --git a/home/home.nix b/home/home.nix index 32e78be..314be8a 100644 --- a/home/home.nix +++ b/home/home.nix @@ -3,7 +3,6 @@ config, pkgs, hostConfig, - walker, ... }: @@ -19,7 +18,6 @@ ./modules/packages.nix ] ++ lib.optionals hostConfig.isLinux [ - walker.homeManagerModules.default ./modules/hyprland.nix ./modules/ui.nix ]; diff --git a/home/modules/theme.nix b/home/modules/theme.nix index 302943f..4785dbb 100644 --- a/home/modules/theme.nix +++ b/home/modules/theme.nix @@ -109,7 +109,6 @@ in $DRY_RUN_CMD ln -sf "$cfg/hypr/themes/$theme.conf" "$cfg/hypr/themes/theme.conf" $DRY_RUN_CMD ln -sf "$cfg/waybar/themes/$theme.css" "$cfg/waybar/themes/theme.css" $DRY_RUN_CMD ln -sf "$cfg/rofi/themes/$theme.rasi" "$cfg/rofi/themes/theme.rasi" - $DRY_RUN_CMD ln -sfn "$cfg/walker/themes/$theme" "$cfg/walker/themes/active" ''} $DRY_RUN_CMD ln -sf "$cfg/sioyek/themes/$theme.config" "$cfg/sioyek/themes/theme.config" $DRY_RUN_CMD ln -sf "$cfg/fzf/themes/$theme" "$cfg/fzf/themes/theme" diff --git a/home/modules/ui.nix b/home/modules/ui.nix index 2d5e156..5bbae04 100644 --- a/home/modules/ui.nix +++ b/home/modules/ui.nix @@ -11,11 +11,17 @@ let mkWaybarTheme = palette: '' * { color: ${palette.fg}; } - #waybar { background: ${palette.bg}; } - #workspaces button { color: ${palette.fg}; } - #workspaces button.focused, - #workspaces button.active { background: ${palette.bgAlt}; color: ${palette.fg}; } - tooltip { color: ${palette.fg}; background-color: ${palette.bgAlt}; } + window#waybar { background: ${palette.bg}; } + #workspaces button { color: ${palette.fgAlt}; background: transparent; } + #workspaces button.active { color: ${palette.fg}; box-shadow: inset 0 -2px ${palette.accent}; } + #window { color: ${palette.fgAlt}; } + #pulseaudio.muted { color: ${palette.fgAlt}; } + #network.disconnected { color: ${palette.fgAlt}; } + #battery.charging { color: ${palette.green}; } + #battery.lo, #battery.ultralo { color: ${palette.red}; } + #idle_inhibitor.activated { color: ${palette.accent}; } + #language { color: ${palette.fgAlt}; } + tooltip { background: ${palette.bgAlt}; color: ${palette.fg}; border: 1px solid ${palette.border}; } tooltip * { color: ${palette.fg}; } ''; in @@ -34,6 +40,7 @@ in }; home.packages = with pkgs; [ + nerd-fonts.symbols-only rofi wl-clipboard cliphist @@ -55,77 +62,84 @@ in layer = "top"; position = "bottom"; exclusive = true; - height = 34; + height = 38; - modules-left = [ - "hyprland/workspaces" - "hyprland/window" + modules-left = [ "hyprland/workspaces" "hyprland/language" ]; + modules-center = [ "hyprland/window" ]; + modules-right = [ + "idle_inhibitor" + "privacy" + "tray" + "pulseaudio" + "network" + "battery" + "clock" ]; - modules-center = [ ]; - modules-right = - lib.optional (hostConfig.backlightDevice != null) "backlight" - ++ [ - "pulseaudio" - "network" - "battery" - "clock" - ]; "hyprland/workspaces" = { + format = "{id}"; disable-scroll = true; all-outputs = true; + }; + + "hyprland/language" = { + format = "{}"; + format-en = "en"; + format-en-colemak = "cmk"; + }; + + idle_inhibitor = { format = "{icon}"; format-icons = { - "1" = "i"; - "2" = "ii"; - "3" = "iii"; - "4" = "iv"; - "5" = "v"; - "6" = "vi"; - "7" = "vii"; - "8" = "viii"; - "9" = "ix"; + activated = "󰅶"; + deactivated = "󰛊"; }; + tooltip-format-activated = "idle inhibitor on"; + tooltip-format-deactivated = "idle inhibitor off"; + }; + + privacy = { + icon-size = 14; + icon-spacing = 6; + }; + + tray = { + icon-size = 16; + spacing = 8; }; "hyprland/window" = { - format = " {} [{}]"; + format = "{}"; separate-outputs = true; - max-length = 80; + max-length = 60; rewrite = { }; }; pulseaudio = { - format = "volume:{volume}% │ "; - format-muted = "volume:{volume}% (muted) │ "; - interval = 2; + format = "{icon} {volume}%"; + format-muted = "󰝟 muted"; + format-icons = { + default = [ "󰕿" "󰖀" "󰕾" ]; + }; signal = 1; - tooltip-format = "Audio Output: {desc}"; + tooltip-format = "{desc}"; }; network = { - format-wifi = "wifi:{essid} │ "; - format-ethernet = "eth:{interface} │ "; - format-disconnected = "wifi:off │ "; - format-disabled = "network:disabled"; + format-wifi = "󰤨 {essid}"; + format-ethernet = "󰈀 {ifname}"; + format-disconnected = "󰤭 off"; + format-disabled = "󰤭 off"; interval = 10; - signal = 1; - tooltip-format-wifi = "Signal: {signalStrength}%\nIP: {ipaddr}/{cidr}"; - tooltip-format-ethernet = "IP: {ipaddr}/{cidr}\nGateway: {gwaddr}"; - tooltip-format-disconnected = "Network: disconnected"; - }; - - backlight = lib.mkIf (hostConfig.backlightDevice != null) { - device = hostConfig.backlightDevice; - format = "brightness:{percent}% │ "; - signal = 1; - tooltip = false; + tooltip-format-wifi = "{signalStrength}% · {ipaddr}"; + tooltip-format-ethernet = "{ipaddr}/{cidr}"; }; battery = { - format = "battery:-{capacity}% │ "; - format-charging = "battery:+{capacity}% │ "; - format-full = "battery:{capacity}% │ "; + format = "{icon} {capacity}%"; + format-charging = "󰂄 {capacity}%"; + format-full = "󰁹 {capacity}%"; + format-icons = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; states = { hi = 30; mid = 20; @@ -140,11 +154,10 @@ in on-charging-100 = "notify-send -u low 'battery 100%'"; }; interval = 30; - signal = 1; }; clock = { - format = "{:%H:%M:%S %d/%m/%Y} "; + format = "{:%a %d %b %H:%M:%S}"; interval = 1; tooltip-format = "{:%A, %d %B %Y\nTimezone: %Z}"; }; @@ -154,39 +167,45 @@ in @import url("${config.xdg.configHome}/waybar/themes/theme.css"); * { - font-size: 15px; - } - - button { + font-family: "Symbols Nerd Font", "SF Pro Display", sans-serif; + font-size: 14px; border: none; border-radius: 0; + min-height: 0; } #workspaces button { - padding: 0 10px; + padding: 0 6px; + min-width: 24px; + } + + #language { + padding: 0 8px; + } + + #idle_inhibitor, + #privacy, + #tray, + #pulseaudio, + #network, + #battery { + padding: 0 12px; + } + + #clock { + padding: 0 14px 0 12px; + } + + #window { + padding: 0 16px; } tooltip { - text-shadow: none; - } - - tooltip * { - text-shadow: none; + border-radius: 4px; } ''; }; - programs.walker = { - enable = true; - runAsService = true; - config.theme = "active"; - }; - - xdg.configFile."walker/themes/midnight".source = - config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/walker/themes/midnight"; - xdg.configFile."walker/themes/daylight".source = - config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/walker/themes/daylight"; - xdg.configFile."rofi/config.rasi".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/rofi/config.rasi"; xdg.configFile."rofi/themes/midnight.rasi".source = diff --git a/scripts/theme b/scripts/theme index 1c77a1e..b6d418c 100755 --- a/scripts/theme +++ b/scripts/theme @@ -95,10 +95,6 @@ Linux) ln -sf "$fzf_themes/$theme" "$fzf_themes/theme" } - walker_themes="$cfg/walker/themes" - [ -d "$walker_themes/$theme" ] && { - ln -sfn "$walker_themes/$theme" "$walker_themes/active" - } fi ;; Darwin)