commit 9124fc4fc7cc1eff4fc288c278c6c7e12054c9b1 Author: XNM Date: Thu Sep 28 03:29:43 2023 +0300 first commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ad121e0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2023 XNM + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7718c38 --- /dev/null +++ b/README.md @@ -0,0 +1,124 @@ +
+

NixOS & Hyprland & Catppuccin Macchiato Configuration

+ +
+ + +
+ +![Showcase Gif](home/Pictures/Records/record.gif) + +## 📖 About + +This repository contains my NixOS Linux configuration with the Hyprland window manager and the Catppuccin Macchiato theme. Please note that this configuration is not minimalistic or lightweight and may require some disk space and knowledge to understand. If you're looking for something simpler, this configuration may not be suitable for you. + +## 🌟 Showcase + +![Screenshot 1](home/Pictures/Screenshots/screenshot-1.png) +![Screenshot 2](home/Pictures/Screenshots/screenshot-2.png) +[Showcase Video](home/Videos/Records/record.mp4) + +## 🔧 Components + +| Component | Version/Name | +|-----------------------|-----------------------------| +| Distro | NixOS | +| Kernel | Zen | +| Shell | Fish | +| Display Server | Wayland | +| WM (Compositor) | Hyprland | +| Bar | Waybar | +| Notification | Dunst | +| Launcher | Rofi-Wayland | +| Editor | Helix | +| Terminal | WezTerm + Starship | +| OSD | Avizo | +| Night Gamma | Gammastep | +| Fetch Utility | Neofetch | +| Theme | Catppuccin Macchiato | +| Icons | Colloid-teal-dark, Numix-Circle | +| Font | JetBrains Mono + Nerd Font Patch | +| Player | Spotify | +| File Browser | Thunar | +| Internet Browser | Qutebrowser, Brave + Vimium + NightTab | +| Mimetypes | MPV, Imv, Zathura | +| Image Editor | Swappy | +| Screenshot | Grim + Slurp | +| Recorder | Wf-recorder | +| Clipboard | Wl-clipboard + Cliphist + Clipboard-jh | +| Idle | Swayidle | +| Lock | Swaylock | +| Logout menu | Wlogout | +| Wallpaper | Wpaperd | +| Graphical Boot | Plymouth + Catppuccin-plymouth | +| Display Manager | Greetd + Tuigreet | + +And many other useful utilities. The full list can be found in the system configuration at `/nixos/configuration.nix` file. + +## ✨ Features + +- 🔄 **Reproducible**: Built on NixOS, this configuration can be effortlessly reproduced on other machines, ensuring a consistent setup. + +- 🖌️ **Consistent**: Nearly every component has been meticulously styled to adhere to the Catppuccin Macchiato theme, providing a visually cohesive experience. + +- ✅ **Complete**: This system is equipped with a wide range of components and utilities, akin to the completeness of operating systems like MacOS or Windows. + +- 🎨 **Customizable**: Leveraging the power of Linux and Hyprland, this configuration offers extensive customization options, allowing you to tailor your setup to your preferences. + +## 🚀 Installation + +1. Download and Install NixOS from the [official site](https://nixos.org/download). +2. Temporarily install ripgrep and fish using the command: `nix-shell -p ripgrep fish --run fish`. You can also use classic bash and grep for the next step without installing fish and ripgrep. +3. Run the command `rg --hidden FIXME` and change/add lines to match your device, swaps, partitions, and file systems in the configuration files (`/etc/nixos/configuration.nix` & `/etc/nixos/hardware-configuration.nix`). +4. To change the default username and/or hostname, run the command `rg --hidden 'xnm'` to find and fix all instances of the username, and `rg --hidden 'isitreal-laptop'` for the hostname. Make sure to change the username to match yours to avoid login issues. +5. Copy all files (with replacements) from the home directory to your `$HOME` directory in Linux. +6. Copy all files (with replacements) from the `nixos` directory to `/etc/nixos/`. It's recommended not to copy and replace `hardware-configuration.nix`; only copy it if you have already change it for your hardware. +7. Run the command `sudo nixos-rebuild switch`. After this, you will have a complete system. You can also use flakes after first setup by running `sudo nixos-rebuild switch --flake .#` if needed. + +## ⌨️ Keybindings + +### Main + +| Key Combination | Action | +|------------------------|-----------------------------| +| ALT + R | Resize windows mode | +| ALT + M | Move windows mode | +| SUPER + H, J, K, L | Change window focus | +| SUPER + 1..0 | Change workspace | +| SUPER + SHIFT + 1..0 | Move window to workspace | +| SUPER + SHIFT + Q | Kill active window | +| SUPER + SHIFT + F | Toggle floating window | +| SUPER + CTRL + F | Toggle full-screen | +| SUPER + SHIFT + O | Toggle split | +| SUPER + SHIFT + M | Exit from hyprland | +| SUPER + T | Launch wezTerm | +| SUPER + D | Launch rofi -drun | +| SUPER + B | Launch qutebrowser | +| SUPER + SHIFT + B | Launch brave | +| SUPER + F | Launch thunar | +| SUPER + ESCAPE | Launch wlogout | +| SUPER + SHIFT + L | Swaylock | +| SUPER + SHIFT + S | Take screenshot | +| SUPER + E | Launch swappy to edit last taken screenshot | +| SUPER + R | Record screen area (MP4) | +| SUPER + SHIFT + R | Record screen area (GIF) | +| SUPER + C | Color picker | +| SUPER + V | Launch clipboard menu (rofi -dmenu) | +| SUPER + X | Launch clipboard deletion item menu (rofi -dmenu) | +| SUPER + SHIFT + X | Clear clipboard | +| SUPER + U | Launch bookmark menu (rofi -dmenu) | +| SUPER + SHIFT + U | Add text from clipboard to bookmark | +| SUPER + CTRL + U | Launch bookmark deletion item menu (rofi -dmenu) | +| SUPER + SHIFT + A | Toggle airplane mode | +| SUPER + SHIFT + N | Toggle notifications | +| SUPER + SHIFT + Y | Toggle bluetooth | +| SUPER + SHIFT + W | Toggle wifi | +| SUPER + P | Toggle play-pause player | +| SUPER + ] | Player next track | +| SUPER + [ | Player previous track | + +You can find all other keybindings in `/home/.config/hypr/hyprland.conf` in the bind section. All system fish scripts are located at `/home/.config/fish/functions` directory. + +## 📜 License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file diff --git a/home/.bookmarks b/home/.bookmarks new file mode 100644 index 0000000..e69de29 diff --git a/home/.config/Kvantum/Adwaita#/Adwaita#.kvconfig b/home/.config/Kvantum/Adwaita#/Adwaita#.kvconfig new file mode 100644 index 0000000..8c683bf --- /dev/null +++ b/home/.config/Kvantum/Adwaita#/Adwaita#.kvconfig @@ -0,0 +1,357 @@ +[%General] +author=Tsu Jan +comment=A theme inspired by Enlightenment +respect_DE=true +x11drag=true +alt_mnemonic=true +left_tabs=false +joined_inactive_tabs=true +attach_active_tab=false +group_toolbar_buttons=false +composite=true +menu_shadow_depth=6 +tooltip_shadow_depth=6 +splitter_width=7 +scroll_width=12 +slider_width=8 +slider_handle_width=16 +slider_handle_length=16 +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx +transient_scrollbar=true + +[GeneralColors] +window.color=#3D3D3E +base.color=#2E2E2E +alt.base.color=#383838 +button.color=#494949 +light.color=#626262 +mid.light.color=#555555 +dark.color=#171717 +mid.color=#3C3C3C +highlight.color=#737373 +inactive.highlight.color=#4A4A4A +tooltip.base.color=black +text.color=white +window.text.color=white +button.text.color=white +disabled.text.color=#A0A0A0 +tooltip.text.color=white +highlight.text.color=white +link.color=#2EB8E6 +link.visited.color=#FF6666 + +[Hacks] +respect_darkness=true +iconless_pushbutton=true +iconless_menu=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +interior.element=button +indicator.size=9 +text.normal.color=white +text.focus.color=#80C0FF +text.press.color=white +text.toggle.color=white +text.shadow=false +text.margin=1 +text.iconspacing=4 +indicator.element=arrow +text.margin.top=3 +text.margin.bottom=3 +text.margin.left=4 +text.margin.right=4 +text.shadow.xshift=1 +text.shadow.yshift=1 +text.shadow.color=#000000 +text.shadow.alpha=255 +text.shadow.depth=1 + +[PanelButtonTool] +inherits=PanelButtonCommand + +[Dock] +inherits=PanelButtonCommand +frame=false +interior=false + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=true +interior.element=dock +text.focus.color=white +text.bold=true +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[IndicatorSpinBox] +inherits=PanelButtonCommand +indicator.element=arrow +frame.element=spin +interior.element=spin +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +indicator.size=9 + +[RadioButton] +inherits=PanelButtonCommand +interior.element=radio +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[CheckBox] +inherits=PanelButtonCommand +interior.element=checkbox +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[Focus] +inherits=PanelButtonCommand +interior=false +frame=true +frame.element=focus +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.patternsize=20 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=9 + +[ToolboxTab] +inherits=PanelButtonCommand + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +frame.element=tab +indicator.element=tab +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=common + +[TreeExpander] +inherits=PanelButtonCommand +frame=false +interior=false +indicator.size=7 + +[HeaderSection] +inherits=PanelButtonCommand + +[SizeGrip] +indicator.element=sizegrip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +frame.element=toolbar +interior.element=toolbar + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +interior.element=slider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.focus.color=white +text.bold=true + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=false +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[Splitter] +inherits=PanelButtonCommand +interior.element=splitter +frame.element=splitter +frame.top=0 +frame.bottom=0 +frame.left=1 +frame.right=1 +indicator.element=splitter-grip +indicator.size=16 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.size=8 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior.element=scrollbarslider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=grip +indicator.size=13 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior.element=slider +frame.element=slider +frame.top=0 +frame.bottom=0 +frame.left=4 +frame.right=4 + +[MenuItem] +inherits=PanelButtonCommand +frame=false +interior.element=menuitem +indicator.element=menuitem +min_height=22 +text.focus.color=#4DA6FF +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[MenuBarItem] +inherits=PanelButtonCommand +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 + +[MenuBar] +inherits=PanelButtonCommand +frame.top=0 +frame.bottom=0 +frame.left=2 +frame.right=2 +frame.element=menuitem +interior.element=menuitem + +[TitleBar] +inherits=PanelButtonCommand +frame=false +interior.element=titlebar +indicator.size=12 +indicator.element=mdi +text.normal.color=black +text.focus.color=white +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[ComboBox] +inherits=PanelButtonCommand + +[Menu] +inherits=PanelButtonCommand +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +frame.element=menu +interior.element=menu + +[GroupBox] +inherits=GenericFrame +frame=true +frame.element=group +interior=true +interior.element=group +text.shadow=false +text.margin=0 +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[TabBarFrame] +inherits=GenericFrame +frame=false +interior=false +text.shadow=false + +[ToolTip] +inherits=GenericFrame +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +text.shadow=false +text.margin=0 +interior.element=tooltip +frame.element=tooltip + +[Window] +interior=false diff --git a/home/.config/Kvantum/Catppuccin-Macchiato-Standard-Teal-dark#/Catppuccin-Macchiato-Standard-Teal-dark#.kvconfig b/home/.config/Kvantum/Catppuccin-Macchiato-Standard-Teal-dark#/Catppuccin-Macchiato-Standard-Teal-dark#.kvconfig new file mode 100644 index 0000000..8c683bf --- /dev/null +++ b/home/.config/Kvantum/Catppuccin-Macchiato-Standard-Teal-dark#/Catppuccin-Macchiato-Standard-Teal-dark#.kvconfig @@ -0,0 +1,357 @@ +[%General] +author=Tsu Jan +comment=A theme inspired by Enlightenment +respect_DE=true +x11drag=true +alt_mnemonic=true +left_tabs=false +joined_inactive_tabs=true +attach_active_tab=false +group_toolbar_buttons=false +composite=true +menu_shadow_depth=6 +tooltip_shadow_depth=6 +splitter_width=7 +scroll_width=12 +slider_width=8 +slider_handle_width=16 +slider_handle_length=16 +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx +transient_scrollbar=true + +[GeneralColors] +window.color=#3D3D3E +base.color=#2E2E2E +alt.base.color=#383838 +button.color=#494949 +light.color=#626262 +mid.light.color=#555555 +dark.color=#171717 +mid.color=#3C3C3C +highlight.color=#737373 +inactive.highlight.color=#4A4A4A +tooltip.base.color=black +text.color=white +window.text.color=white +button.text.color=white +disabled.text.color=#A0A0A0 +tooltip.text.color=white +highlight.text.color=white +link.color=#2EB8E6 +link.visited.color=#FF6666 + +[Hacks] +respect_darkness=true +iconless_pushbutton=true +iconless_menu=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +interior.element=button +indicator.size=9 +text.normal.color=white +text.focus.color=#80C0FF +text.press.color=white +text.toggle.color=white +text.shadow=false +text.margin=1 +text.iconspacing=4 +indicator.element=arrow +text.margin.top=3 +text.margin.bottom=3 +text.margin.left=4 +text.margin.right=4 +text.shadow.xshift=1 +text.shadow.yshift=1 +text.shadow.color=#000000 +text.shadow.alpha=255 +text.shadow.depth=1 + +[PanelButtonTool] +inherits=PanelButtonCommand + +[Dock] +inherits=PanelButtonCommand +frame=false +interior=false + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=true +interior.element=dock +text.focus.color=white +text.bold=true +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[IndicatorSpinBox] +inherits=PanelButtonCommand +indicator.element=arrow +frame.element=spin +interior.element=spin +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +indicator.size=9 + +[RadioButton] +inherits=PanelButtonCommand +interior.element=radio +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[CheckBox] +inherits=PanelButtonCommand +interior.element=checkbox +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[Focus] +inherits=PanelButtonCommand +interior=false +frame=true +frame.element=focus +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.patternsize=20 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=9 + +[ToolboxTab] +inherits=PanelButtonCommand + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +frame.element=tab +indicator.element=tab +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=common + +[TreeExpander] +inherits=PanelButtonCommand +frame=false +interior=false +indicator.size=7 + +[HeaderSection] +inherits=PanelButtonCommand + +[SizeGrip] +indicator.element=sizegrip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +frame.element=toolbar +interior.element=toolbar + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +interior.element=slider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.focus.color=white +text.bold=true + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=false +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[Splitter] +inherits=PanelButtonCommand +interior.element=splitter +frame.element=splitter +frame.top=0 +frame.bottom=0 +frame.left=1 +frame.right=1 +indicator.element=splitter-grip +indicator.size=16 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.size=8 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior.element=scrollbarslider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=grip +indicator.size=13 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior.element=slider +frame.element=slider +frame.top=0 +frame.bottom=0 +frame.left=4 +frame.right=4 + +[MenuItem] +inherits=PanelButtonCommand +frame=false +interior.element=menuitem +indicator.element=menuitem +min_height=22 +text.focus.color=#4DA6FF +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[MenuBarItem] +inherits=PanelButtonCommand +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 + +[MenuBar] +inherits=PanelButtonCommand +frame.top=0 +frame.bottom=0 +frame.left=2 +frame.right=2 +frame.element=menuitem +interior.element=menuitem + +[TitleBar] +inherits=PanelButtonCommand +frame=false +interior.element=titlebar +indicator.size=12 +indicator.element=mdi +text.normal.color=black +text.focus.color=white +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[ComboBox] +inherits=PanelButtonCommand + +[Menu] +inherits=PanelButtonCommand +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +frame.element=menu +interior.element=menu + +[GroupBox] +inherits=GenericFrame +frame=true +frame.element=group +interior=true +interior.element=group +text.shadow=false +text.margin=0 +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[TabBarFrame] +inherits=GenericFrame +frame=false +interior=false +text.shadow=false + +[ToolTip] +inherits=GenericFrame +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +text.shadow=false +text.margin=0 +interior.element=tooltip +frame.element=tooltip + +[Window] +interior=false diff --git a/home/.config/Kvantum/Catppuccin-Teal-Dark#/Catppuccin-Teal-Dark#.kvconfig b/home/.config/Kvantum/Catppuccin-Teal-Dark#/Catppuccin-Teal-Dark#.kvconfig new file mode 100644 index 0000000..8c683bf --- /dev/null +++ b/home/.config/Kvantum/Catppuccin-Teal-Dark#/Catppuccin-Teal-Dark#.kvconfig @@ -0,0 +1,357 @@ +[%General] +author=Tsu Jan +comment=A theme inspired by Enlightenment +respect_DE=true +x11drag=true +alt_mnemonic=true +left_tabs=false +joined_inactive_tabs=true +attach_active_tab=false +group_toolbar_buttons=false +composite=true +menu_shadow_depth=6 +tooltip_shadow_depth=6 +splitter_width=7 +scroll_width=12 +slider_width=8 +slider_handle_width=16 +slider_handle_length=16 +opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,VirtualBoxVM,trojita,dragon,digikam,lyx +transient_scrollbar=true + +[GeneralColors] +window.color=#3D3D3E +base.color=#2E2E2E +alt.base.color=#383838 +button.color=#494949 +light.color=#626262 +mid.light.color=#555555 +dark.color=#171717 +mid.color=#3C3C3C +highlight.color=#737373 +inactive.highlight.color=#4A4A4A +tooltip.base.color=black +text.color=white +window.text.color=white +button.text.color=white +disabled.text.color=#A0A0A0 +tooltip.text.color=white +highlight.text.color=white +link.color=#2EB8E6 +link.visited.color=#FF6666 + +[Hacks] +respect_darkness=true +iconless_pushbutton=true +iconless_menu=true + +[PanelButtonCommand] +frame=true +frame.element=button +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +interior.element=button +indicator.size=9 +text.normal.color=white +text.focus.color=#80C0FF +text.press.color=white +text.toggle.color=white +text.shadow=false +text.margin=1 +text.iconspacing=4 +indicator.element=arrow +text.margin.top=3 +text.margin.bottom=3 +text.margin.left=4 +text.margin.right=4 +text.shadow.xshift=1 +text.shadow.yshift=1 +text.shadow.color=#000000 +text.shadow.alpha=255 +text.shadow.depth=1 + +[PanelButtonTool] +inherits=PanelButtonCommand + +[Dock] +inherits=PanelButtonCommand +frame=false +interior=false + +[DockTitle] +inherits=PanelButtonCommand +frame=false +interior=true +interior.element=dock +text.focus.color=white +text.bold=true +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[IndicatorSpinBox] +inherits=PanelButtonCommand +indicator.element=arrow +frame.element=spin +interior.element=spin +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +indicator.size=9 + +[RadioButton] +inherits=PanelButtonCommand +interior.element=radio +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[CheckBox] +inherits=PanelButtonCommand +interior.element=checkbox +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[Focus] +inherits=PanelButtonCommand +interior=false +frame=true +frame.element=focus +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +frame.patternsize=20 + +[GenericFrame] +inherits=PanelButtonCommand +frame=true +interior=false +frame.element=common +interior.element=common + +[LineEdit] +inherits=PanelButtonCommand +frame.element=lineedit +interior.element=lineedit + +[DropDownButton] +inherits=PanelButtonCommand +indicator.element=arrow-down + +[IndicatorArrow] +indicator.element=arrow +indicator.size=9 + +[ToolboxTab] +inherits=PanelButtonCommand + +[Tab] +inherits=PanelButtonCommand +interior.element=tab +text.margin.left=8 +text.margin.right=8 +frame.element=tab +indicator.element=tab +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[TabFrame] +inherits=PanelButtonCommand +frame.element=tabframe +interior.element=common + +[TreeExpander] +inherits=PanelButtonCommand +frame=false +interior=false +indicator.size=7 + +[HeaderSection] +inherits=PanelButtonCommand + +[SizeGrip] +indicator.element=sizegrip + +[Toolbar] +inherits=PanelButtonCommand +indicator.element=toolbar +indicator.size=5 +frame.element=toolbar +interior.element=toolbar + +[Slider] +inherits=PanelButtonCommand +frame.element=slider +interior.element=slider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[SliderCursor] +inherits=PanelButtonCommand +frame=false +interior.element=slidercursor + +[Progressbar] +inherits=PanelButtonCommand +frame.element=progress +interior.element=progress +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.focus.color=white +text.bold=true + +[ProgressbarContents] +inherits=PanelButtonCommand +frame=false +interior.element=progress-pattern + +[ItemView] +inherits=PanelButtonCommand +text.margin=0 +frame.element=itemview +interior.element=itemview +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 + +[Splitter] +inherits=PanelButtonCommand +interior.element=splitter +frame.element=splitter +frame.top=0 +frame.bottom=0 +frame.left=1 +frame.right=1 +indicator.element=splitter-grip +indicator.size=16 + +[Scrollbar] +inherits=PanelButtonCommand +indicator.size=8 + +[ScrollbarSlider] +inherits=PanelButtonCommand +frame.element=scrollbarslider +interior.element=scrollbarslider +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +indicator.element=grip +indicator.size=13 + +[ScrollbarGroove] +inherits=PanelButtonCommand +interior.element=slider +frame.element=slider +frame.top=0 +frame.bottom=0 +frame.left=4 +frame.right=4 + +[MenuItem] +inherits=PanelButtonCommand +frame=false +interior.element=menuitem +indicator.element=menuitem +min_height=22 +text.focus.color=#4DA6FF +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[MenuBarItem] +inherits=PanelButtonCommand +interior.element=menubaritem +frame.element=menubaritem +frame.top=2 +frame.bottom=2 +frame.left=2 +frame.right=2 +text.margin.top=2 +text.margin.bottom=2 + +[MenuBar] +inherits=PanelButtonCommand +frame.top=0 +frame.bottom=0 +frame.left=2 +frame.right=2 +frame.element=menuitem +interior.element=menuitem + +[TitleBar] +inherits=PanelButtonCommand +frame=false +interior.element=titlebar +indicator.size=12 +indicator.element=mdi +text.normal.color=black +text.focus.color=white +text.margin.top=2 +text.margin.bottom=2 +text.margin.left=3 +text.margin.right=3 + +[ComboBox] +inherits=PanelButtonCommand + +[Menu] +inherits=PanelButtonCommand +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +frame.element=menu +interior.element=menu + +[GroupBox] +inherits=GenericFrame +frame=true +frame.element=group +interior=true +interior.element=group +text.shadow=false +text.margin=0 +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 + +[TabBarFrame] +inherits=GenericFrame +frame=false +interior=false +text.shadow=false + +[ToolTip] +inherits=GenericFrame +frame.top=3 +frame.bottom=3 +frame.left=3 +frame.right=3 +interior=true +text.shadow=false +text.margin=0 +interior.element=tooltip +frame.element=tooltip + +[Window] +interior=false diff --git a/home/.config/Kvantum/kvantum.kvconfig b/home/.config/Kvantum/kvantum.kvconfig new file mode 100644 index 0000000..244cf91 --- /dev/null +++ b/home/.config/Kvantum/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=Catppuccin-Macchiato-Standard-Teal-dark# diff --git a/home/.config/Thunar/accels.scm b/home/.config/Thunar/accels.scm new file mode 100644 index 0000000..79566d8 --- /dev/null +++ b/home/.config/Thunar/accels.scm @@ -0,0 +1,117 @@ +; Thunar GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/ThunarActionManager/restore" "") +; (gtk_accel_path "/ThunarActionManager/undo" "z") +; (gtk_accel_path "/ThunarStandardView/select-all-files" "a") +; (gtk_accel_path "/ThunarStandardView/sort-by-dtime" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-last-modified" "") +; (gtk_accel_path "/ThunarStandardView/invert-selection" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-display-name" "") +; (gtk_accel_path "/ThunarActionManager/cut" "x") +; (gtk_accel_path "/ThunarActionManager/restore-show" "") +; (gtk_accel_path "/ThunarWindow/zoom-in" "KP_Add") +; (gtk_accel_path "/ThunarStandardView/sort-ascending" "") +; (gtk_accel_path "/ThunarWindow/empty-trash" "") +; (gtk_accel_path "/ThunarWindow/reload" "r") +; (gtk_accel_path "/ThunarWindow/toggle-image-preview" "") +; (gtk_accel_path "/ThunarActionManager/cut-2" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-menu" "") +; (gtk_accel_path "/ThunarActionManager/trash-delete" "Delete") +; (gtk_accel_path "/ThunarWindow/open-network" "") +; (gtk_accel_path "/ThunarActionManager/trash-delete-2" "KP_Delete") +; (gtk_accel_path "/ThunarWindow/contents/help-menu" "") +; (gtk_accel_path "/ThunarActionManager/delete" "") +; (gtk_accel_path "/ThunarStandardView/set-default-app" "") +; (gtk_accel_path "/ThunarStandardView/back-alt" "BackSpace") +; (gtk_accel_path "/ThunarActionManager/open-in-new-tab" "p") +; (gtk_accel_path "/ThunarWindow/switch-next-tab" "Page_Down") +; (gtk_accel_path "/ThunarWindow/open-file-menu" "F10") +; (gtk_accel_path "/ThunarWindow/view-as-compact-list" "3") +; (gtk_accel_path "/ThunarWindow/about" "") +; (gtk_accel_path "/ThunarWindow/open-computer" "") +; (gtk_accel_path "/ThunarWindow/clear-directory-specific-settings" "") +; (gtk_accel_path "/ThunarWindow/open-file-system" "") +; (gtk_accel_path "/ThunarWindow/open-parent" "Up") +; (gtk_accel_path "/ThunarWindow/view-menu" "") +; (gtk_accel_path "/ThunarActionManager/copy" "c") +; (gtk_accel_path "/ThunarStandardView/properties" "Return") +; (gtk_accel_path "/ThunarStandardView/back" "Left") +; (gtk_accel_path "/ThunarWindow/sendto-menu" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-mtime" "") +; (gtk_accel_path "/ThunarActionManager/open-location" "") +; (gtk_accel_path "/ThunarWindow/bookmarks-menu" "") +; (gtk_accel_path "/ThunarWindow/reload-alt" "F5") +; (gtk_accel_path "/ThunarWindow/view-location-selector-buttons" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-size-in-bytes" "") +; (gtk_accel_path "/ThunarStandardView/unselect-all-files" "Escape") +; (gtk_accel_path "/ThunarActionManager/copy-2" "Insert") +; (gtk_accel_path "/ThunarWindow/zoom-out-alt" "minus") +; (gtk_accel_path "/ThunarWindow/cancel-search" "Escape") +; (gtk_accel_path "/ThunarStandardView/select-by-pattern" "s") +; (gtk_accel_path "/ThunarStandardView/rename" "F2") +; (gtk_accel_path "/ThunarStandardView/configure-columns" "") +; (gtk_accel_path "/ThunarStandardView/create-document" "") +; (gtk_accel_path "/ThunarShortcutsPane/sendto-shortcuts" "d") +; (gtk_accel_path "/ThunarActionManager/move-to-trash" "") +; (gtk_accel_path "/ThunarWindow/close-tab" "w") +; (gtk_accel_path "/ThunarWindow/view-side-pane-tree" "e") +; (gtk_accel_path "/ThunarActionManager/open" "o") +; (gtk_accel_path "/ThunarWindow/toggle-side-pane" "F9") +; (gtk_accel_path "/ThunarWindow/view-location-selector-entry" "") +; (gtk_accel_path "/ThunarWindow/open-recent" "") +; (gtk_accel_path "/ThunarWindow/open-home" "Home") +; (gtk_accel_path "/ThunarWindow/toggle-split-view" "F3") +; (gtk_accel_path "/ThunarWindow/open-templates" "") +; (gtk_accel_path "/ThunarWindow/open-location-alt" "d") +; (gtk_accel_path "/ThunarStandardView/create-folder" "n") +; (gtk_accel_path "/ThunarWindow/search" "f") +; (gtk_accel_path "/ThunarStandardView/sort-by-type" "") +; (gtk_accel_path "/ThunarActionManager/paste-2" "Insert") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt2" "equal") +; (gtk_accel_path "/ThunarStandardView/duplicate" "") +; (gtk_accel_path "/ThunarWindow/remove-from-recent" "") +; (gtk_accel_path "/ThunarWindow/zoom-out" "KP_Subtract") +; (gtk_accel_path "/ThunarWindow/close-window" "q") +; (gtk_accel_path "/ThunarWindow/edit-menu" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-shortcuts" "b") +; (gtk_accel_path "/ThunarWindow/show-highlight" "") +; (gtk_accel_path "/ThunarWindow/contents" "F1") +; (gtk_accel_path "/ThunarWindow/preferences" "") +; (gtk_accel_path "/ThunarWindow/switch-previous-tab" "Page_Up") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt1" "plus") +; (gtk_accel_path "/ThunarStandardView/toggle-sort-order" "") +; (gtk_accel_path "/ThunarActionManager/open-in-new-window" "o") +; (gtk_accel_path "/ThunarWindow/view-configure-toolbar" "") +; (gtk_accel_path "/ThunarWindow/view-location-selector-menu" "") +; (gtk_accel_path "/ThunarWindow/view-statusbar" "") +; (gtk_accel_path "/ThunarWindow/close-all-windows" "w") +; (gtk_accel_path "/ThunarWindow/open-trash" "") +; (gtk_accel_path "/ThunarActionManager/paste" "v") +; (gtk_accel_path "/ThunarActionManager/delete-3" "KP_Delete") +; (gtk_accel_path "/ThunarActionManager/execute" "") +; (gtk_accel_path "/ThunarWindow/open-desktop" "") +; (gtk_accel_path "/ThunarActionManager/open-with-other" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-size" "") +; (gtk_accel_path "/ThunarActionManager/sendto-desktop" "") +; (gtk_accel_path "/ThunarWindow/open-location" "l") +; (gtk_accel_path "/ThunarWindow/view-menubar" "m") +; (gtk_accel_path "/ThunarWindow/zoom-reset-alt" "0") +; (gtk_accel_path "/ThunarWindow/view-as-detailed-list" "2") +; (gtk_accel_path "/ThunarWindow/view-as-icons" "1") +; (gtk_accel_path "/ThunarWindow/new-window" "n") +; (gtk_accel_path "/ThunarStandardView/forward" "Right") +; (gtk_accel_path "/ThunarActionManager/redo" "z") +; (gtk_accel_path "/ThunarStandardView/sort-descending" "") +; (gtk_accel_path "/ThunarWindow/file-menu" "") +; (gtk_accel_path "/ThunarStandardView/make-link" "") +; (gtk_accel_path "/ThunarActionManager/delete-2" "Delete") +; (gtk_accel_path "/ThunarWindow/new-tab" "t") +; (gtk_accel_path "/ThunarWindow/go-menu" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-size" "") +; (gtk_accel_path "/ThunarStandardView/arrange-items-menu" "") +; (gtk_accel_path "/ThunarWindow/show-hidden" "h") +; (gtk_accel_path "/ThunarStandardView/sort-by-name" "") +; (gtk_accel_path "/ThunarWindow/zoom-reset" "KP_0") +; (gtk_accel_path "/ThunarStatusBar/toggle-filetype" "") +; (gtk_accel_path "/ThunarWindow/detach-tab" "") diff --git a/home/.config/Thunar/uca.xml b/home/.config/Thunar/uca.xml new file mode 100644 index 0000000..da27911 --- /dev/null +++ b/home/.config/Thunar/uca.xml @@ -0,0 +1,13 @@ + + + + utilities-terminal + Open Terminal Here + 1673101737831851-1 + exo-open --working-directory %f --launch TerminalEmulator + Example for a custom action + * + + + + diff --git a/home/.config/autostart/gammastep-indicator.desktop b/home/.config/autostart/gammastep-indicator.desktop new file mode 100644 index 0000000..82e3c45 --- /dev/null +++ b/home/.config/autostart/gammastep-indicator.desktop @@ -0,0 +1,21 @@ +[Desktop Entry] +Version=1.0 +Name=Gammastep Indicator +Name[pt_BR]=Indicador Gammastep +Name[tr]=Gammastep Göstergesi +GenericName=Indicator for color temperature adjustment +GenericName[es]=Ajuste de la temperatura de color +GenericName[pt_BR]=Indicador para ajuse de temperatura de cor +Comment=Indicator for color temperature adjustment +Comment[es]=Ajuste de la temperatura de color +Comment[pt_BR]=Indicador para ajuse de temperatura de cor +Keywords=display;color;soft;hue;temperature;eyes;strain; +Exec=/nix/store/493kwp484ij7fs68wb5wyhd0w3cl577n-gammastep-2.0.9/bin/gammastep-indicator +Icon=gammastep +Terminal=false +Type=Application +Categories=Utility; +StartupNotify=true +Hidden=true +X-GNOME-Autostart-enabled=false + diff --git a/home/.config/avizo/config.ini b/home/.config/avizo/config.ini new file mode 100644 index 0000000..6a83a8f --- /dev/null +++ b/home/.config/avizo/config.ini @@ -0,0 +1,3 @@ +[default] +background=rgba(128, 135, 162, 1) +time=2 \ No newline at end of file diff --git a/home/.config/bacon/prefs.toml b/home/.config/bacon/prefs.toml new file mode 100644 index 0000000..6398f47 --- /dev/null +++ b/home/.config/bacon/prefs.toml @@ -0,0 +1,45 @@ +# This is a preferences file for the bacon tool +# More info at https://github.com/Canop/bacon + +# Uncomment and change the value (true/false) to +# specify whether bacon should start in summary mode +# +# summary = true + +# Uncomment and change the value (true/false) to +# specify whether bacon should start with lines wrapped +# +wrap = true + +# In "reverse" mode, the focus is at the bottom, item +# order is reversed, and the status bar is on top +# +# reverse = true + +# Uncomment this to have bacon always export locations +# This is equivalent to always adding -e to bacon commands +# but can still be cancelled on specific launches with -E +# +# export_locations = true + +# Uncomment and change the key-bindings you want to define +# (some of those ones are the defaults) +[keybindings] +# esc = "back" +# ctrl-c = "quit" +# ctrl-q = "quit" +# q = "quit" +# s = "toggle-summary" +# w = "toggle-wrap" +# t = "toggle-backtrace" +# Home = "scroll-to-top" +# End = "scroll-to-bottom" +# Up = "scroll-lines(-1)" +# Down = "scroll-lines(1)" +# PageUp = "scroll-pages(-1)" +# PageDown = "scroll-pages(1)" +# Space = "scroll-pages(1)" +g = "scroll-to-top" +shift-g = "scroll-to-bottom" +k = "scroll-lines(-1)" +j = "scroll-lines(1)" diff --git a/home/.config/bat/config b/home/.config/bat/config new file mode 100644 index 0000000..db74b12 --- /dev/null +++ b/home/.config/bat/config @@ -0,0 +1,25 @@ +# This is `bat`s configuration file. Each line either contains a comment or +# a command-line option that you want to pass to `bat` by default. You can +# run `bat --help` to get a list of all possible configuration options. + +# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes` +# for a list of all available themes +--theme="base16-256" + +# Enable this to use italic text on the terminal. This is not supported on all +# terminal emulators (like tmux, by default): +#--italic-text=always + +# Uncomment the following line to disable automatic paging: +#--paging=never + +# Uncomment the following line if you are using less version >= 551 and want to +# enable mouse scrolling support in `bat` when running inside tmux. This might +# disable text selection, unless you press shift. +#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" + +# Syntax mappings: map a certain filename pattern to a language. +# Example 1: use the C++ syntax for Arduino .ino files +# Example 2: Use ".gitignore"-style highlighting for ".ignore" files +#--map-syntax "*.ino:C++" +#--map-syntax ".ignore:Git Ignore" diff --git a/home/.config/bat/themes/Catppuccin-frappe.tmTheme b/home/.config/bat/themes/Catppuccin-frappe.tmTheme new file mode 100644 index 0000000..f4eb222 --- /dev/null +++ b/home/.config/bat/themes/Catppuccin-frappe.tmTheme @@ -0,0 +1,959 @@ + + + + + name + Catppuccin + settings + + + settings + + foreground + #c6d0f5 + background + #303446 + caret + #b5bfe2 + invisibles + #a5adce + gutterForeground + #949cbb + gutterForegroundHighlight + #a6d189 + lineHighlight + #626880 + selection + #737994 + selectionBorder + #303446 + activeGuide + #ef9f76 + findHighlightForeground + #292c3c + findHighlight + #e5c890 + bracketsForeground + #949cbb + bracketContentsForeground + #949cbb + + + + name + Comment + scope + comment + settings + + foreground + #737994 + fontStyle + italic + + + + name + String + scope + string + settings + + foreground + #a6d189 + fontStyle + + + + + name + String regex + scope + string.regexp + settings + + foreground + #ef9f76 + fontStyle + + + + + name + Number + scope + constant.numeric + settings + + foreground + #ef9f76 + fontStyle + + + + + name + Boolean + scope + constant.language.boolean + settings + + foreground + #ef9f76 + fontStyle + bold italic + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #babbf1 + fontStyle + italic + + + + name + Built-in function + scope + support.function.builtin + settings + + foreground + #ef9f76 + fontStyle + italic + + + + name + User-defined constant + scope + variable.other.constant + settings + + foreground + #ef9f76 + fontStyle + + + + + name + Variable + scope + variable + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #e78284 + fontStyle + italic + + + + name + Conditional/loop + scope + keyword.control.loop, keyword.control.conditional, keyword.control.c++ + settings + + foreground + #ca9ee6 + fontStyle + bold + + + + name + Return + scope + keyword.control.return, keyword.control.flow.return + settings + + foreground + #f4b8e4 + fontStyle + bold + + + + name + Exception + scope + support.type.exception + settings + + foreground + #ef9f76 + fontStyle + italic + + + + name + Operator + scope + keyword.operator, punctuation.accessor + settings + + foreground + #99d1db + fontStyle + bold + + + + name + Punctuation separator + scope + punctuation.separator + settings + + foreground + #81c8be + fontStyle + + + + + name + Punctuation terminator + scope + punctuation.terminator + settings + + foreground + #81c8be + fontStyle + + + + + name + Punctuation bracket + scope + punctuation.section + settings + + foreground + #949cbb + fontStyle + + + + + name + Include + scope + keyword.control.import.include + settings + + foreground + #81c8be + fontStyle + italic + + + + name + Storage + scope + storage + settings + + foreground + #e78284 + fontStyle + + + + + name + Storage type + scope + storage.type + settings + + foreground + #e5c890 + fontStyle + italic + + + + name + Storage modifier + scope + storage.modifier + settings + + foreground + #e78284 + fontStyle + + + + + name + Storage type namespace + scope + entity.name.namespace, meta.path + settings + + foreground + #f2d5cf + fontStyle + italic + + + + name + Storage type class + scope + storage.type.class + settings + + foreground + #f2d5cf + fontStyle + italic + + + + name + Label + scope + entity.name.label + settings + + foreground + #8caaee + fontStyle + + + + + name + Keyword class + scope + keyword.declaration.class + settings + + foreground + #e78284 + fontStyle + italic + + + + name + Class name + scope + entity.name.class, meta.toc-list.full-identifier + settings + + foreground + #99d1db + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #99d1db + fontStyle + italic + + + + name + Function name + scope + entity.name.function, variable.function + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Function macro + scope + entity.name.function.preprocessor + settings + + foreground + #e78284 + fontStyle + + + + + name + Macro directive - ifdef + scope + keyword.control.import + settings + + foreground + #e78284 + fontStyle + + + + + name + Constructor + scope + entity.name.function.constructor, entity.name.function.destructor + settings + + foreground + #babbf1 + fontStyle + + + + + name + Function argument + scope + variable.parameter.function + settings + + foreground + #f2d5cf + fontStyle + italic + + + + name + Function declaration + scope + keyword.declaration.function + settings + + foreground + #ea999c + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + foreground + #99d1db + fontStyle + + + + + name + Library constant + scope + support.constant + settings + + foreground + #8caaee + fontStyle + + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + + + + name + Variable function + scope + variable.function + settings + + foreground + #8caaee + fontStyle + italic + + + + name + Variable parameter + scope + variable.parameter + settings + + foreground + #f2d5cf + fontStyle + italic + + + + name + Variable other + scope + variable.other + settings + + foreground + #c6d0f5 + fontStyle + italic + + + + name + Variable field + scope + variable.other.member + settings + + foreground + #f2d5cf + fontStyle + + + + + name + Variable language + scope + variable.language + settings + + foreground + #81c8be + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #ef9f76 + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #ca9ee6 + fontStyle + italic + + + + name + Tag delimiter + scope + punctuation.definition.tag + settings + + foreground + #ea999c + fontStyle + + + + + name + Markdown URL + scope + markup.underline.link.markdown + settings + + foreground + #f2d5cf + fontStyle + italic underline + + + + name + Markdown reference + scope + meta.link.inline.description + settings + + foreground + #babbf1 + fontStyle + bold + + + + name + Markdown literal + scope + comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline + settings + + foreground + #81c8be + fontStyle + italic + + + + name + Markdown title + scope + punctuation.definition.heading, entity.name.section + settings + + foreground + #8caaee + fontStyle + bold + + + + name + Markdown emphasis + scope + markup.italic + settings + + foreground + #ea999c + fontStyle + italic + + + + name + Markdown strong + scope + markup.bold + settings + + foreground + #ea999c + fontStyle + bold + + + + name + Escape + scope + constant.character.escape + settings + + foreground + #f4b8e4 + fontStyle + + + + + name + Bash built-in function + scope + source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell + settings + + foreground + #f4b8e4 + fontStyle + + + + + name + Bash parameter + scope + variable.language.shell + settings + + foreground + #e78284 + fontStyle + italic + + + + name + Lua field + scope + source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #babbf1 + fontStyle + italic + + + + name + Lua constructor + scope + source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #eebebe + fontStyle + + + + + name + Java constant + scope + entity.name.constant.java + settings + + foreground + #81c8be + fontStyle + + + + + name + CSS property + scope + support.type.property-name.css + settings + + foreground + #eebebe + fontStyle + italic + + + + name + CSS constant + scope + support.constant.property-value.css + settings + + foreground + #c6d0f5 + fontStyle + + + + + name + CSS suffix + scope + constant.numeric.suffix.css, keyword.other.unit.css + settings + + foreground + #81c8be + fontStyle + italic + + + + name + CSS variable property + scope + variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css + settings + + foreground + #81c8be + fontStyle + + + + + name + SCSS tag + scope + entity.name.tag.css + settings + + foreground + #babbf1 + fontStyle + + + + + name + SASS variable + scope + variable.other.sass + settings + + foreground + #81c8be + fontStyle + + + + + name + Invalid + scope + invalid + settings + + foreground + #c6d0f5 + background + #e78284 + fontStyle + + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + foreground + #c6d0f5 + background + #ca9ee6 + fontStyle + + + + + name + Diff header + scope + meta.diff, meta.diff.header + settings + + foreground + #737994 + fontStyle + + + + + name + Diff deleted + scope + markup.deleted + settings + + foreground + #e78284 + fontStyle + + + + + name + Diff inserted + scope + markup.inserted + settings + + foreground + #a6d189 + fontStyle + + + + + name + Diff changed + scope + markup.changed + settings + + foreground + #e5c890 + fontStyle + + + + + name + Message error + scope + message.error + settings + + foreground + #e78284 + fontStyle + + + + + uuid + 4d0379b5-ef82-467b-b8b8-365889420646 + colorSpaceName + sRGB + semanticClass + theme.dark.Catppuccin + author + BrunDerSchwarzmagier + + diff --git a/home/.config/bat/themes/Catppuccin-latte.tmTheme b/home/.config/bat/themes/Catppuccin-latte.tmTheme new file mode 100644 index 0000000..6f23c16 --- /dev/null +++ b/home/.config/bat/themes/Catppuccin-latte.tmTheme @@ -0,0 +1,959 @@ + + + + + name + Catppuccin + settings + + + settings + + foreground + #4c4f69 + background + #eff1f5 + caret + #5c5f77 + invisibles + #6c6f85 + gutterForeground + #7c7f93 + gutterForegroundHighlight + #40a02b + lineHighlight + #acb0be + selection + #9ca0b0 + selectionBorder + #eff1f5 + activeGuide + #fe640b + findHighlightForeground + #e6e9ef + findHighlight + #df8e1d + bracketsForeground + #7c7f93 + bracketContentsForeground + #7c7f93 + + + + name + Comment + scope + comment + settings + + foreground + #9ca0b0 + fontStyle + italic + + + + name + String + scope + string + settings + + foreground + #40a02b + fontStyle + + + + + name + String regex + scope + string.regexp + settings + + foreground + #fe640b + fontStyle + + + + + name + Number + scope + constant.numeric + settings + + foreground + #fe640b + fontStyle + + + + + name + Boolean + scope + constant.language.boolean + settings + + foreground + #fe640b + fontStyle + bold italic + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #7287fd + fontStyle + italic + + + + name + Built-in function + scope + support.function.builtin + settings + + foreground + #fe640b + fontStyle + italic + + + + name + User-defined constant + scope + variable.other.constant + settings + + foreground + #fe640b + fontStyle + + + + + name + Variable + scope + variable + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Conditional/loop + scope + keyword.control.loop, keyword.control.conditional, keyword.control.c++ + settings + + foreground + #8839ef + fontStyle + bold + + + + name + Return + scope + keyword.control.return, keyword.control.flow.return + settings + + foreground + #ea76cb + fontStyle + bold + + + + name + Exception + scope + support.type.exception + settings + + foreground + #fe640b + fontStyle + italic + + + + name + Operator + scope + keyword.operator, punctuation.accessor + settings + + foreground + #04a5e5 + fontStyle + bold + + + + name + Punctuation separator + scope + punctuation.separator + settings + + foreground + #179299 + fontStyle + + + + + name + Punctuation terminator + scope + punctuation.terminator + settings + + foreground + #179299 + fontStyle + + + + + name + Punctuation bracket + scope + punctuation.section + settings + + foreground + #7c7f93 + fontStyle + + + + + name + Include + scope + keyword.control.import.include + settings + + foreground + #179299 + fontStyle + italic + + + + name + Storage + scope + storage + settings + + foreground + #d20f39 + fontStyle + + + + + name + Storage type + scope + storage.type + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Storage modifier + scope + storage.modifier + settings + + foreground + #d20f39 + fontStyle + + + + + name + Storage type namespace + scope + entity.name.namespace, meta.path + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Storage type class + scope + storage.type.class + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Label + scope + entity.name.label + settings + + foreground + #1e66f5 + fontStyle + + + + + name + Keyword class + scope + keyword.declaration.class + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Class name + scope + entity.name.class, meta.toc-list.full-identifier + settings + + foreground + #04a5e5 + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #04a5e5 + fontStyle + italic + + + + name + Function name + scope + entity.name.function, variable.function + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Function macro + scope + entity.name.function.preprocessor + settings + + foreground + #d20f39 + fontStyle + + + + + name + Macro directive - ifdef + scope + keyword.control.import + settings + + foreground + #d20f39 + fontStyle + + + + + name + Constructor + scope + entity.name.function.constructor, entity.name.function.destructor + settings + + foreground + #7287fd + fontStyle + + + + + name + Function argument + scope + variable.parameter.function + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Function declaration + scope + keyword.declaration.function + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + foreground + #04a5e5 + fontStyle + + + + + name + Library constant + scope + support.constant + settings + + foreground + #1e66f5 + fontStyle + + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + + + + name + Variable function + scope + variable.function + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Variable parameter + scope + variable.parameter + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Variable other + scope + variable.other + settings + + foreground + #4c4f69 + fontStyle + italic + + + + name + Variable field + scope + variable.other.member + settings + + foreground + #dc8a78 + fontStyle + + + + + name + Variable language + scope + variable.language + settings + + foreground + #179299 + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #fe640b + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #8839ef + fontStyle + italic + + + + name + Tag delimiter + scope + punctuation.definition.tag + settings + + foreground + #e64553 + fontStyle + + + + + name + Markdown URL + scope + markup.underline.link.markdown + settings + + foreground + #dc8a78 + fontStyle + italic underline + + + + name + Markdown reference + scope + meta.link.inline.description + settings + + foreground + #7287fd + fontStyle + bold + + + + name + Markdown literal + scope + comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline + settings + + foreground + #179299 + fontStyle + italic + + + + name + Markdown title + scope + punctuation.definition.heading, entity.name.section + settings + + foreground + #1e66f5 + fontStyle + bold + + + + name + Markdown emphasis + scope + markup.italic + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Markdown strong + scope + markup.bold + settings + + foreground + #e64553 + fontStyle + bold + + + + name + Escape + scope + constant.character.escape + settings + + foreground + #ea76cb + fontStyle + + + + + name + Bash built-in function + scope + source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell + settings + + foreground + #ea76cb + fontStyle + + + + + name + Bash parameter + scope + variable.language.shell + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Lua field + scope + source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #7287fd + fontStyle + italic + + + + name + Lua constructor + scope + source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #dd7878 + fontStyle + + + + + name + Java constant + scope + entity.name.constant.java + settings + + foreground + #179299 + fontStyle + + + + + name + CSS property + scope + support.type.property-name.css + settings + + foreground + #dd7878 + fontStyle + italic + + + + name + CSS constant + scope + support.constant.property-value.css + settings + + foreground + #4c4f69 + fontStyle + + + + + name + CSS suffix + scope + constant.numeric.suffix.css, keyword.other.unit.css + settings + + foreground + #179299 + fontStyle + italic + + + + name + CSS variable property + scope + variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css + settings + + foreground + #179299 + fontStyle + + + + + name + SCSS tag + scope + entity.name.tag.css + settings + + foreground + #7287fd + fontStyle + + + + + name + SASS variable + scope + variable.other.sass + settings + + foreground + #179299 + fontStyle + + + + + name + Invalid + scope + invalid + settings + + foreground + #4c4f69 + background + #d20f39 + fontStyle + + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + foreground + #4c4f69 + background + #8839ef + fontStyle + + + + + name + Diff header + scope + meta.diff, meta.diff.header + settings + + foreground + #9ca0b0 + fontStyle + + + + + name + Diff deleted + scope + markup.deleted + settings + + foreground + #d20f39 + fontStyle + + + + + name + Diff inserted + scope + markup.inserted + settings + + foreground + #40a02b + fontStyle + + + + + name + Diff changed + scope + markup.changed + settings + + foreground + #df8e1d + fontStyle + + + + + name + Message error + scope + message.error + settings + + foreground + #d20f39 + fontStyle + + + + + uuid + 4d0379b5-ef82-467b-b8b8-365889420646 + colorSpaceName + sRGB + semanticClass + theme.dark.Catppuccin + author + BrunDerSchwarzmagier + + diff --git a/home/.config/bat/themes/Catppuccin-macchiato.tmTheme b/home/.config/bat/themes/Catppuccin-macchiato.tmTheme new file mode 100644 index 0000000..0beedb6 --- /dev/null +++ b/home/.config/bat/themes/Catppuccin-macchiato.tmTheme @@ -0,0 +1,959 @@ + + + + + name + Catppuccin + settings + + + settings + + foreground + #cad3f5 + background + #24273a + caret + #b8c0e0 + invisibles + #a5adcb + gutterForeground + #939ab7 + gutterForegroundHighlight + #a6da95 + lineHighlight + #5b6078 + selection + #6e738d + selectionBorder + #24273a + activeGuide + #f5a97f + findHighlightForeground + #1e2030 + findHighlight + #eed49f + bracketsForeground + #939ab7 + bracketContentsForeground + #939ab7 + + + + name + Comment + scope + comment + settings + + foreground + #6e738d + fontStyle + italic + + + + name + String + scope + string + settings + + foreground + #a6da95 + fontStyle + + + + + name + String regex + scope + string.regexp + settings + + foreground + #f5a97f + fontStyle + + + + + name + Number + scope + constant.numeric + settings + + foreground + #f5a97f + fontStyle + + + + + name + Boolean + scope + constant.language.boolean + settings + + foreground + #f5a97f + fontStyle + bold italic + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #b7bdf8 + fontStyle + italic + + + + name + Built-in function + scope + support.function.builtin + settings + + foreground + #f5a97f + fontStyle + italic + + + + name + User-defined constant + scope + variable.other.constant + settings + + foreground + #f5a97f + fontStyle + + + + + name + Variable + scope + variable + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #ed8796 + fontStyle + italic + + + + name + Conditional/loop + scope + keyword.control.loop, keyword.control.conditional, keyword.control.c++ + settings + + foreground + #c6a0f6 + fontStyle + bold + + + + name + Return + scope + keyword.control.return, keyword.control.flow.return + settings + + foreground + #f5bde6 + fontStyle + bold + + + + name + Exception + scope + support.type.exception + settings + + foreground + #f5a97f + fontStyle + italic + + + + name + Operator + scope + keyword.operator, punctuation.accessor + settings + + foreground + #91d7e3 + fontStyle + bold + + + + name + Punctuation separator + scope + punctuation.separator + settings + + foreground + #8bd5ca + fontStyle + + + + + name + Punctuation terminator + scope + punctuation.terminator + settings + + foreground + #8bd5ca + fontStyle + + + + + name + Punctuation bracket + scope + punctuation.section + settings + + foreground + #939ab7 + fontStyle + + + + + name + Include + scope + keyword.control.import.include + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Storage + scope + storage + settings + + foreground + #ed8796 + fontStyle + + + + + name + Storage type + scope + storage.type + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Storage modifier + scope + storage.modifier + settings + + foreground + #ed8796 + fontStyle + + + + + name + Storage type namespace + scope + entity.name.namespace, meta.path + settings + + foreground + #f4dbd6 + fontStyle + italic + + + + name + Storage type class + scope + storage.type.class + settings + + foreground + #f4dbd6 + fontStyle + italic + + + + name + Label + scope + entity.name.label + settings + + foreground + #8aadf4 + fontStyle + + + + + name + Keyword class + scope + keyword.declaration.class + settings + + foreground + #ed8796 + fontStyle + italic + + + + name + Class name + scope + entity.name.class, meta.toc-list.full-identifier + settings + + foreground + #91d7e3 + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #91d7e3 + fontStyle + italic + + + + name + Function name + scope + entity.name.function, variable.function + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Function macro + scope + entity.name.function.preprocessor + settings + + foreground + #ed8796 + fontStyle + + + + + name + Macro directive - ifdef + scope + keyword.control.import + settings + + foreground + #ed8796 + fontStyle + + + + + name + Constructor + scope + entity.name.function.constructor, entity.name.function.destructor + settings + + foreground + #b7bdf8 + fontStyle + + + + + name + Function argument + scope + variable.parameter.function + settings + + foreground + #f4dbd6 + fontStyle + italic + + + + name + Function declaration + scope + keyword.declaration.function + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + foreground + #91d7e3 + fontStyle + + + + + name + Library constant + scope + support.constant + settings + + foreground + #8aadf4 + fontStyle + + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + + + + name + Variable function + scope + variable.function + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Variable parameter + scope + variable.parameter + settings + + foreground + #f4dbd6 + fontStyle + italic + + + + name + Variable other + scope + variable.other + settings + + foreground + #cad3f5 + fontStyle + italic + + + + name + Variable field + scope + variable.other.member + settings + + foreground + #f4dbd6 + fontStyle + + + + + name + Variable language + scope + variable.language + settings + + foreground + #8bd5ca + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #f5a97f + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #c6a0f6 + fontStyle + italic + + + + name + Tag delimiter + scope + punctuation.definition.tag + settings + + foreground + #ee99a0 + fontStyle + + + + + name + Markdown URL + scope + markup.underline.link.markdown + settings + + foreground + #f4dbd6 + fontStyle + italic underline + + + + name + Markdown reference + scope + meta.link.inline.description + settings + + foreground + #b7bdf8 + fontStyle + bold + + + + name + Markdown literal + scope + comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Markdown title + scope + punctuation.definition.heading, entity.name.section + settings + + foreground + #8aadf4 + fontStyle + bold + + + + name + Markdown emphasis + scope + markup.italic + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Markdown strong + scope + markup.bold + settings + + foreground + #ee99a0 + fontStyle + bold + + + + name + Escape + scope + constant.character.escape + settings + + foreground + #f5bde6 + fontStyle + + + + + name + Bash built-in function + scope + source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell + settings + + foreground + #f5bde6 + fontStyle + + + + + name + Bash parameter + scope + variable.language.shell + settings + + foreground + #ed8796 + fontStyle + italic + + + + name + Lua field + scope + source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #b7bdf8 + fontStyle + italic + + + + name + Lua constructor + scope + source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #f0c6c6 + fontStyle + + + + + name + Java constant + scope + entity.name.constant.java + settings + + foreground + #8bd5ca + fontStyle + + + + + name + CSS property + scope + support.type.property-name.css + settings + + foreground + #f0c6c6 + fontStyle + italic + + + + name + CSS constant + scope + support.constant.property-value.css + settings + + foreground + #cad3f5 + fontStyle + + + + + name + CSS suffix + scope + constant.numeric.suffix.css, keyword.other.unit.css + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + CSS variable property + scope + variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css + settings + + foreground + #8bd5ca + fontStyle + + + + + name + SCSS tag + scope + entity.name.tag.css + settings + + foreground + #b7bdf8 + fontStyle + + + + + name + SASS variable + scope + variable.other.sass + settings + + foreground + #8bd5ca + fontStyle + + + + + name + Invalid + scope + invalid + settings + + foreground + #cad3f5 + background + #ed8796 + fontStyle + + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + foreground + #cad3f5 + background + #c6a0f6 + fontStyle + + + + + name + Diff header + scope + meta.diff, meta.diff.header + settings + + foreground + #6e738d + fontStyle + + + + + name + Diff deleted + scope + markup.deleted + settings + + foreground + #ed8796 + fontStyle + + + + + name + Diff inserted + scope + markup.inserted + settings + + foreground + #a6da95 + fontStyle + + + + + name + Diff changed + scope + markup.changed + settings + + foreground + #eed49f + fontStyle + + + + + name + Message error + scope + message.error + settings + + foreground + #ed8796 + fontStyle + + + + + uuid + 4d0379b5-ef82-467b-b8b8-365889420646 + colorSpaceName + sRGB + semanticClass + theme.dark.Catppuccin + author + BrunDerSchwarzmagier + + diff --git a/home/.config/bat/themes/Catppuccin-mocha.tmTheme b/home/.config/bat/themes/Catppuccin-mocha.tmTheme new file mode 100644 index 0000000..3b9b72c --- /dev/null +++ b/home/.config/bat/themes/Catppuccin-mocha.tmTheme @@ -0,0 +1,959 @@ + + + + + name + Catppuccin + settings + + + settings + + foreground + #cdd6f4 + background + #1e1e2e + caret + #bac2de + invisibles + #a6adc8 + gutterForeground + #9399b2 + gutterForegroundHighlight + #a6e3a1 + lineHighlight + #585b70 + selection + #6c7086 + selectionBorder + #1e1e2e + activeGuide + #fab387 + findHighlightForeground + #181825 + findHighlight + #f9e2af + bracketsForeground + #9399b2 + bracketContentsForeground + #9399b2 + + + + name + Comment + scope + comment + settings + + foreground + #6c7086 + fontStyle + italic + + + + name + String + scope + string + settings + + foreground + #a6e3a1 + fontStyle + + + + + name + String regex + scope + string.regexp + settings + + foreground + #fab387 + fontStyle + + + + + name + Number + scope + constant.numeric + settings + + foreground + #fab387 + fontStyle + + + + + name + Boolean + scope + constant.language.boolean + settings + + foreground + #fab387 + fontStyle + bold italic + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #b4befe + fontStyle + italic + + + + name + Built-in function + scope + support.function.builtin + settings + + foreground + #fab387 + fontStyle + italic + + + + name + User-defined constant + scope + variable.other.constant + settings + + foreground + #fab387 + fontStyle + + + + + name + Variable + scope + variable + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + Conditional/loop + scope + keyword.control.loop, keyword.control.conditional, keyword.control.c++ + settings + + foreground + #cba6f7 + fontStyle + bold + + + + name + Return + scope + keyword.control.return, keyword.control.flow.return + settings + + foreground + #f5c2e7 + fontStyle + bold + + + + name + Exception + scope + support.type.exception + settings + + foreground + #fab387 + fontStyle + italic + + + + name + Operator + scope + keyword.operator, punctuation.accessor + settings + + foreground + #89dceb + fontStyle + bold + + + + name + Punctuation separator + scope + punctuation.separator + settings + + foreground + #94e2d5 + fontStyle + + + + + name + Punctuation terminator + scope + punctuation.terminator + settings + + foreground + #94e2d5 + fontStyle + + + + + name + Punctuation bracket + scope + punctuation.section + settings + + foreground + #9399b2 + fontStyle + + + + + name + Include + scope + keyword.control.import.include + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Storage + scope + storage + settings + + foreground + #f38ba8 + fontStyle + + + + + name + Storage type + scope + storage.type + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Storage modifier + scope + storage.modifier + settings + + foreground + #f38ba8 + fontStyle + + + + + name + Storage type namespace + scope + entity.name.namespace, meta.path + settings + + foreground + #f5e0dc + fontStyle + italic + + + + name + Storage type class + scope + storage.type.class + settings + + foreground + #f5e0dc + fontStyle + italic + + + + name + Label + scope + entity.name.label + settings + + foreground + #89b4fa + fontStyle + + + + + name + Keyword class + scope + keyword.declaration.class + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + Class name + scope + entity.name.class, meta.toc-list.full-identifier + settings + + foreground + #89dceb + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #89dceb + fontStyle + italic + + + + name + Function name + scope + entity.name.function, variable.function + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Function macro + scope + entity.name.function.preprocessor + settings + + foreground + #f38ba8 + fontStyle + + + + + name + Macro directive - ifdef + scope + keyword.control.import + settings + + foreground + #f38ba8 + fontStyle + + + + + name + Constructor + scope + entity.name.function.constructor, entity.name.function.destructor + settings + + foreground + #b4befe + fontStyle + + + + + name + Function argument + scope + variable.parameter.function + settings + + foreground + #f5e0dc + fontStyle + italic + + + + name + Function declaration + scope + keyword.declaration.function + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + foreground + #89dceb + fontStyle + + + + + name + Library constant + scope + support.constant + settings + + foreground + #89b4fa + fontStyle + + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + + + + name + Variable function + scope + variable.function + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Variable parameter + scope + variable.parameter + settings + + foreground + #f5e0dc + fontStyle + italic + + + + name + Variable other + scope + variable.other + settings + + foreground + #cdd6f4 + fontStyle + italic + + + + name + Variable field + scope + variable.other.member + settings + + foreground + #f5e0dc + fontStyle + + + + + name + Variable language + scope + variable.language + settings + + foreground + #94e2d5 + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #fab387 + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #cba6f7 + fontStyle + italic + + + + name + Tag delimiter + scope + punctuation.definition.tag + settings + + foreground + #eba0ac + fontStyle + + + + + name + Markdown URL + scope + markup.underline.link.markdown + settings + + foreground + #f5e0dc + fontStyle + italic underline + + + + name + Markdown reference + scope + meta.link.inline.description + settings + + foreground + #b4befe + fontStyle + bold + + + + name + Markdown literal + scope + comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Markdown title + scope + punctuation.definition.heading, entity.name.section + settings + + foreground + #89b4fa + fontStyle + bold + + + + name + Markdown emphasis + scope + markup.italic + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Markdown strong + scope + markup.bold + settings + + foreground + #eba0ac + fontStyle + bold + + + + name + Escape + scope + constant.character.escape + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + Bash built-in function + scope + source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + Bash parameter + scope + variable.language.shell + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + Lua field + scope + source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #b4befe + fontStyle + italic + + + + name + Lua constructor + scope + source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #f2cdcd + fontStyle + + + + + name + Java constant + scope + entity.name.constant.java + settings + + foreground + #94e2d5 + fontStyle + + + + + name + CSS property + scope + support.type.property-name.css + settings + + foreground + #f2cdcd + fontStyle + italic + + + + name + CSS constant + scope + support.constant.property-value.css + settings + + foreground + #cdd6f4 + fontStyle + + + + + name + CSS suffix + scope + constant.numeric.suffix.css, keyword.other.unit.css + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + CSS variable property + scope + variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css + settings + + foreground + #94e2d5 + fontStyle + + + + + name + SCSS tag + scope + entity.name.tag.css + settings + + foreground + #b4befe + fontStyle + + + + + name + SASS variable + scope + variable.other.sass + settings + + foreground + #94e2d5 + fontStyle + + + + + name + Invalid + scope + invalid + settings + + foreground + #cdd6f4 + background + #f38ba8 + fontStyle + + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + foreground + #cdd6f4 + background + #cba6f7 + fontStyle + + + + + name + Diff header + scope + meta.diff, meta.diff.header + settings + + foreground + #6c7086 + fontStyle + + + + + name + Diff deleted + scope + markup.deleted + settings + + foreground + #f38ba8 + fontStyle + + + + + name + Diff inserted + scope + markup.inserted + settings + + foreground + #a6e3a1 + fontStyle + + + + + name + Diff changed + scope + markup.changed + settings + + foreground + #f9e2af + fontStyle + + + + + name + Message error + scope + message.error + settings + + foreground + #f38ba8 + fontStyle + + + + + uuid + 4d0379b5-ef82-467b-b8b8-365889420646 + colorSpaceName + sRGB + semanticClass + theme.dark.Catppuccin + author + BrunDerSchwarzmagier + + diff --git a/home/.config/bottom/bottom.toml b/home/.config/bottom/bottom.toml new file mode 100644 index 0000000..6287e5a --- /dev/null +++ b/home/.config/bottom/bottom.toml @@ -0,0 +1,159 @@ +# This is a default config file for bottom. All of the settings are commented +# out by default; if you wish to change them uncomment and modify as you see +# fit. + +# This group of options represents a command-line flag/option. Flags explicitly +# added when running (ie: btm -a) will override this config file if an option +# is also set here. + +[flags] +# Whether to hide the average cpu entry. +#hide_avg_cpu = false +# Whether to use dot markers rather than braille. +#dot_marker = false +# The update rate of the application. +#rate = 1000 +# Whether to put the CPU legend to the left. +#left_legend = false +# Whether to set CPU% on a process to be based on the total CPU or just current usage. +#current_usage = false +# Whether to group processes with the same name together by default. +#group_processes = false +# Whether to make process searching case sensitive by default. +#case_sensitive = false +# Whether to make process searching look for matching the entire word by default. +#whole_word = false +# Whether to make process searching use regex by default. +#regex = false +# Defaults to Celsius. Temperature is one of: +#temperature_type = "k" +#temperature_type = "f" +#temperature_type = "c" +#temperature_type = "kelvin" +#temperature_type = "fahrenheit" +#temperature_type = "celsius" +# The default time interval (in milliseconds). +#default_time_value = 60000 +# The time delta on each zoom in/out action (in milliseconds). +#time_delta = 15000 +# Hides the time scale. +#hide_time = false +# Override layout default widget +#default_widget_type = "proc" +#default_widget_count = 1 +# Use basic mode +#basic = false +# Use the old network legend style +#use_old_network_legend = false +# Remove space in tables +#hide_table_gap = false +# Show the battery widgets +#battery = false +# Disable mouse clicks +#disable_click = false +# Built-in themes. Valid values are "default", "default-light", "gruvbox", "gruvbox-light", "nord", "nord-light" +#color = "default" +# Show memory values in the processes widget as values by default +#mem_as_value = false +# Show tree mode by default in the processes widget. +#tree = false +# Shows an indicator in table widgets tracking where in the list you are. +#show_table_scroll_position = false +# Show processes as their commands by default in the process widget. +#process_command = false +# Displays the network widget with binary prefixes. +#network_use_binary_prefix = false +# Displays the network widget using bytes. +#network_use_bytes = false +# Displays the network widget with a log scale. +#network_use_log = false +# Hides advanced options to stop a process on Unix-like systems. +#disable_advanced_kill = false + +# These are all the components that support custom theming. Note that colour support +# will depend on terminal support. + +[colors] +table_header_color = "#f4dbd6" +all_cpu_color = "#f4dbd6" +avg_cpu_color = "#ee99a0" +cpu_core_colors = ["#ed8796","#f5a97f","#eed49f","#a6da95","#7dc4e4","#c6a0f6"] +ram_color = "#a6da95" +swap_color = "#f5a97f" +rx_color = "#a6da95" +tx_color = "#ed8796" +widget_title_color = "#f0c6c6" +border_color = "#5b6078" +highlighted_border_color = "#f5bde6" +text_color = "#cad3f5" +graph_color = "#a5adcb" +cursor_color = "#f5bde6" +selected_text_color = "#181926" +selected_bg_color = "#c6a0f6" +high_battery_color = "#a6da95" +medium_battery_color = "#eed49f" +low_battery_color = "#ed8796" +gpu_core_colors = ["#7dc4e4","#c6a0f6","#ed8796","#f5a97f","#eed49f","#a6da95"] +arc_color = "#91d7e3" + +# Layout - layouts follow a pattern like this: +# [[row]] represents a row in the application. +# [[row.child]] represents either a widget or a column. +# [[row.child.child]] represents a widget. +# +# All widgets must have the type value set to one of ["cpu", "mem", "proc", "net", "temp", "disk", "empty"]. +# All layout components have a ratio value - if this is not set, then it defaults to 1. +# The default widget layout: +#[[row]] +# ratio=30 +# [[row.child]] +# type="cpu" +#[[row]] +# ratio=40 +# [[row.child]] +# ratio=4 +# type="mem" +# [[row.child]] +# ratio=3 +# [[row.child.child]] +# type="temp" +# [[row.child.child]] +# type="disk" +#[[row]] +# ratio=30 +# [[row.child]] +# type="net" +# [[row.child]] +# type="proc" +# default=true + + +# Filters - you can hide specific temperature sensors, network interfaces, and disks using filters. This is admittedly +# a bit hard to use as of now, and there is a planned in-app interface for managing this in the future: +#[disk_filter] +#is_list_ignored = true +#list = ["/dev/sda\\d+", "/dev/nvme0n1p2"] +#regex = true +#case_sensitive = false +#whole_word = false + +#[mount_filter] +#is_list_ignored = true +#list = ["/mnt/.*", "/boot"] +#regex = true +#case_sensitive = false +#whole_word = false + +#[temp_filter] +#is_list_ignored = true +#list = ["cpu", "wifi"] +#regex = false +#case_sensitive = false +#whole_word = false + +#[net_filter] +#is_list_ignored = true +#list = ["virbr0.*"] +#regex = true +#case_sensitive = false +#whole_word = false diff --git a/home/.config/btop/btop.conf b/home/.config/btop/btop.conf new file mode 100644 index 0000000..a314607 --- /dev/null +++ b/home/.config/btop/btop.conf @@ -0,0 +1,212 @@ +#? Config file for btop v. 1.2.13 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/home/xnm/.config/btop/themes/catppuccin_macchiato.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = True + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" \ No newline at end of file diff --git a/home/.config/btop/themes/catppuccin_macchiato.theme b/home/.config/btop/themes/catppuccin_macchiato.theme new file mode 100644 index 0000000..7abd0bf --- /dev/null +++ b/home/.config/btop/themes/catppuccin_macchiato.theme @@ -0,0 +1,42 @@ +theme[main_bg]="#24273A" +theme[main_fg]="#CAD3F5" +theme[title]="#CAD3F5" +theme[hi_fg]="#8AADF4" +theme[selected_bg]="#494D64" +theme[selected_fg]="#8AADF4" +theme[inactive_fg]="#8087A2" +theme[graph_text]="#F4DBD6" +theme[meter_bg]="#494D64" +theme[proc_misc]="#F4DBD6" +theme[cpu_box]="#7DC4E4" +theme[mem_box]="#A6DA95" +theme[net_box]="#C6A0F6" +theme[proc_box]="#F0C6C6" +theme[div_line]="#6E738D" +theme[temp_start]="#EED49F" +theme[temp_mid]="#F5A97F" +theme[temp_end]="#ED8796" +theme[cpu_start]="#7DC4E4" +theme[cpu_mid]="#91D7E3" +theme[cpu_end]="#8BD5CA" +theme[free_start]="#8BD5CA" +theme[free_mid]="#8BD5CA" +theme[free_end]="#A6DA95" +theme[cached_start]="#F5BDE6" +theme[cached_mid]="#F5BDE6" +theme[cached_end]="#C6A0F6" +theme[available_start]="#F4DBD6" +theme[available_mid]="#F0C6C6" +theme[available_end]="#F0C6C6" +theme[used_start]="#F5A97F" +theme[used_mid]="#F5A97F" +theme[used_end]="#ED8796" +theme[download_start]="#B7BDF8" +theme[download_mid]="#B7BDF8" +theme[download_end]="#C6A0F6" +theme[upload_start]="#B7BDF8" +theme[upload_mid]="#B7BDF8" +theme[upload_end]="#C6A0F6" +theme[process_start]="#7DC4E4" +theme[process_mid]="#91D7E3" +theme[process_end]="#8BD5CA" diff --git a/home/.config/cava/config b/home/.config/cava/config new file mode 100644 index 0000000..61296fa --- /dev/null +++ b/home/.config/cava/config @@ -0,0 +1,223 @@ +## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting. + + +[general] + +# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0 +; mode = normal + +# Accepts only non-negative values. +; framerate = 60 + +# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off +# new as of 0.6.0 autosens of low values (dynamic range) +# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0 +; autosens = 1 +; overshoot = 20 + +# Manual sensitivity in %. If autosens is enabled, this will only be the initial value. +# 200 means double height. Accepts only non-negative values. +; sensitivity = 100 + +# The number of bars (0-200). 0 sets it to auto (fill up console). +# Bars' width and space between bars in number of characters. +; bars = 0 +; bar_width = 2 +; bar_spacing = 1 +# bar_height is only used for output in "noritake" format +; bar_height = 32 + +# For SDL width and space between bars is in pixels, defaults are: +; bar_width = 20 +; bar_spacing = 5 + + +# Lower and higher cutoff frequencies for lowest and highest bars +# the bandwidth of the visualizer. +# Note: there is a minimum total bandwidth of 43Mhz x number of bars. +# Cava will automatically increase the higher cutoff if a too low band is specified. +; lower_cutoff_freq = 50 +; higher_cutoff_freq = 10000 + + +# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and +# only check for input once per second. Cava will wake up once input is detected. 0 = disable. +; sleep_timer = 0 + + +[input] + +# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem' +# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with. +# +# All input methods uses the same config variable 'source' +# to define where it should get the audio. +# +# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink +# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). +# +# For alsa 'source' will be the capture device. +# For fifo 'source' will be the path to fifo-file. +# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address +; method = pulse +; source = auto + +; method = alsa +; source = hw:Loopback,1 + +; method = fifo +; source = /tmp/mpd.fifo +; sample_rate = 44100 +; sample_bits = 16 + +; method = shmem +; source = /squeezelite-AA:BB:CC:DD:EE:FF + +; method = portaudio +; source = auto + + +[output] + +# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake' or 'sdl'. +# 'noncurses' uses a custom framebuffer technique and prints only changes +# from frame to frame in the terminal. 'ncurses' is default if supported. +# +# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data +# stream of the bar heights that can be used to send to other applications. +# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above. +# +# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display +# in graphic mode. It only support the 3000 series graphical VFDs for now. +# +# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context. +; method = ncurses + +# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'. +# Default is 'bottom'. Other orientations are only supported on sdl and ncruses +# output. Note: many fonts have weird glyphs for 'top' and 'right' characters, +# which can make ncurses not look right. +; orientation = bottom + +# Visual channels. Can be 'stereo' or 'mono'. +# 'stereo' mirrors both channels with low frequencies in center. +# 'mono' outputs left to right lowest to highest frequencies. +# 'mono_option' set mono to either take input from 'left', 'right' or 'average'. +# set 'reverse' to 1 to display frequencies the other way around. +; channels = stereo +; mono_option = average +; reverse = 0 + +# Raw output target. A fifo will be created if target does not exist. +; raw_target = /dev/stdout + +# Raw data format. Can be 'binary' or 'ascii'. +; data_format = binary + +# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). +; bit_format = 16bit + +# Ascii max value. In 'ascii' mode range will run from 0 to value specified here +; ascii_max_range = 1000 + +# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters. +# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)). +; bar_delimiter = 59 +; frame_delimiter = 10 + +# sdl window size and position. -1,-1 is centered. +; sdl_width = 1000 +; sdl_height = 500 +; sdl_x = -1 +; sdl_y= -1 + +# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none' +# 'frequency' displays the lower cut off frequency of the bar above. +# Only supported on ncurses and noncurses output. +; xaxis = none + +# enable alacritty synchronized updates. 1 = on, 0 = off +# removes flickering in alacritty terminal emeulator. +# defaults to off since the behaviour in other terminal emulators is unknown +; alacritty_sync = 0 + +[color] + +# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. +# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires +# a terminal that can change color definitions such as Gnome-terminal or rxvt. +# default is to keep current terminal color +; background = default +; foreground = default + +# SDL only support hex code colors, these are the default: +; background = '#111111' +; foreground = '#33cccc' + + +# Gradient mode, only hex defined colors are supported, +# background must also be defined in hex or remain commented out. 1 = on, 0 = off. +# You can define as many as 8 different colors. They range from bottom to top of screen +; gradient = 0 +; gradient_count = 8 +; gradient_color_1 = '#59cc33' +; gradient_color_2 = '#80cc33' +; gradient_color_3 = '#a6cc33' +; gradient_color_4 = '#cccc33' +; gradient_color_5 = '#cca633' +; gradient_color_6 = '#cc8033' +; gradient_color_7 = '#cc5933' +; gradient_color_8 = '#cc3333' + +[color] + +gradient = 1 + +gradient_color_1 = '#8bd5ca' +gradient_color_2 = '#91d7e3' +gradient_color_3 = '#7dc4e4' +gradient_color_4 = '#8aadf4' +gradient_color_5 = '#c6a0f6' +gradient_color_6 = '#f5bde6' +gradient_color_7 = '#ee99a0' +gradient_color_8 = '#ed8796' + + + +[smoothing] + +# Percentage value for integral smoothing. Takes values from 0 - 100. +# Higher values means smoother, but less precise. 0 to disable. +# DEPRECATED as of 0.8.0, use noise_reduction instead +; integral = 77 + +# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. +; monstercat = 0 +; waves = 0 + +# Set gravity percentage for "drop off". Higher values means bars will drop faster. +# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". +# DEPRECATED as of 0.8.0, use noise_reduction instead +; gravity = 100 + + +# In bar height, bars that would have been lower that this will not be drawn. +# DEPRECATED as of 0.8.0 +; ignore = 0 + +# Noise reduction, float 0 - 1. default 0.77 +# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth +# 1 will be very slow and smooth, 0 will be fast but noisy. +; noise_reduction = 0.77 + + +[eq] + +# This one is tricky. You can have as much keys as you want. +# Remember to uncomment more then one key! More keys = more precision. +# Look at readme.md on github for further explanations and examples. +; 1 = 1 # bass +; 2 = 1 +; 3 = 1 # midtone +; 4 = 1 +; 5 = 1 # treble diff --git a/home/.config/cava/shaders/bar_spectrum.frag b/home/.config/cava/shaders/bar_spectrum.frag new file mode 100644 index 0000000..b078913 --- /dev/null +++ b/home/.config/cava/shaders/bar_spectrum.frag @@ -0,0 +1,79 @@ +#version 330 + +in vec2 fragCoord; +out vec4 fragColor; + +// bar values. defaults to left channels first (low to high), then right (high to low). +uniform float bars[512]; + +uniform int bars_count; // number of bars (left + right) (configurable) +uniform int bar_width; // bar width (configurable), not used here +uniform int bar_spacing; // space bewteen bars (configurable) + +uniform vec3 u_resolution; // window resolution + +//colors, configurable in cava config file (r,g,b) (0.0 - 1.0) +uniform vec3 bg_color; // background color +uniform vec3 fg_color; // foreground color + +uniform int gradient_count; +uniform vec3 gradient_colors[8]; // gradient colors + +vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max) +{ + //create color based on fraction of this color and next color + float yr = (y - y_min) / (y_max - y_min); + return col_1 * (1.0 - yr) + col_2 * yr; +} + +void main() +{ + // find which bar to use based on where we are on the x axis + float x = u_resolution.x * fragCoord.x; + int bar = int(bars_count * fragCoord.x); + + //calculate a bar size + float bar_size = u_resolution.x / bars_count; + + //the y coordinate and bar values are the same + float y = bars[bar]; + + // make sure there is a thin line at bottom + if (y * u_resolution.y < 1.0) + { + y = 1.0 / u_resolution.y; + } + + //draw the bar up to current height + if (y > fragCoord.y) + { + //make some space between bars basen on settings + if (x > (bar + 1) * (bar_size) - bar_spacing) + { + fragColor = vec4(bg_color,1.0); + } + else + { + if (gradient_count == 0) + { + fragColor = vec4(fg_color,1.0); + } + else + { + //find which color in the configured gradient we are at + int color = int((gradient_count - 1) * fragCoord.y); + + //find where on y this and next color is supposed to be + float y_min = color / (gradient_count - 1.0); + float y_max = (color + 1.0) / (gradient_count - 1.0); + + //make color + fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0); + } + } + } + else + { + fragColor = vec4(bg_color,1.0); + } +} \ No newline at end of file diff --git a/home/.config/cava/shaders/normalized_bars.frag b/home/.config/cava/shaders/normalized_bars.frag new file mode 100644 index 0000000..81a27e2 --- /dev/null +++ b/home/.config/cava/shaders/normalized_bars.frag @@ -0,0 +1,38 @@ +#version 330 + +in vec2 fragCoord; +out vec4 fragColor; + +// bar values. defaults to left channels first (low to high), then right (high to low). +uniform float bars[512]; + +uniform int bars_count; // number of bars (left + right) (configurable) + +uniform vec3 u_resolution; // window resolution, not used here + +//colors, configurable in cava config file +uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here +uniform vec3 fg_color; // foreground color, not used here + +float normalize_C(float x, float x_min, float x_max, float r_min, float r_max ) +{ + float xr; + xr = (r_max-r_min) * (x - x_min) / (x_max - x_min) + r_min; + return xr; +} + +void main() +{ + // find which bar to use based on where we are on the x axis + int bar = int(bars_count * fragCoord.x); + + // create a normal along the y axis based on the bar height + float x = normalize_C(fragCoord.y, 1.0, 0.0, 0.0, bars[bar]); + + // set color + fragColor.r=fg_color.x*x; + fragColor.g=fg_color.y*x; + fragColor.b=fg_color.z*x; + fragColor.a=1.0; + +} diff --git a/home/.config/cava/shaders/pass_through.vert b/home/.config/cava/shaders/pass_through.vert new file mode 100644 index 0000000..a4f20e5 --- /dev/null +++ b/home/.config/cava/shaders/pass_through.vert @@ -0,0 +1,14 @@ +#version 330 + + +// Input vertex data, different for all executions of this shader. +layout(location = 0) in vec3 vertexPosition_modelspace; + +// Output data ; will be interpolated for each fragment. +out vec2 fragCoord; + +void main() +{ + gl_Position = vec4(vertexPosition_modelspace,1); + fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0; +} diff --git a/home/.config/dconf/user b/home/.config/dconf/user new file mode 100644 index 0000000..47ceb2f Binary files /dev/null and b/home/.config/dconf/user differ diff --git a/home/.config/dunst/dunstrc b/home/.config/dunst/dunstrc new file mode 100644 index 0000000..90a325d --- /dev/null +++ b/home/.config/dunst/dunstrc @@ -0,0 +1,25 @@ +[global] +frame_color = "#cad3f5" +separator_color= frame +font = "JetBrains Mono Regular 11" +corner_radius = 10 +offset = 5x5 +origin = top-right +notification_limit = 8 +gap_size = 7 +frame_width = 2 +width = 300 +height = 100 + +[urgency_low] +background = "#24273A" +foreground = "#CAD3F5" + +[urgency_normal] +background = "#24273A" +foreground = "#CAD3F5" + +[urgency_critical] +background = "#24273A" +foreground = "#CAD3F5" +frame_color = "#F5A97F" \ No newline at end of file diff --git a/home/.config/felix/config.yaml b/home/.config/felix/config.yaml new file mode 100644 index 0000000..725b70d --- /dev/null +++ b/home/.config/felix/config.yaml @@ -0,0 +1,61 @@ +# (Optional) +# Default exec command when open files. +# If not set, will default to $EDITOR. +# default: nvim + +# (Optional) +# key (the command you want to use): [values] (extensions) +exec: + viu: + [jpg, jpeg, png, gif, svg] + zathura: + [pdf] + +# (Optional) +# Whether to use syntax highlighting in the preview mode. +# If not set, will default to false. +syntax_highlight: true + +# (Optional) +# Default theme for syntax highlighting. +# Pick one from the following: +# Base16OceanDark +# Base16EightiesDark +# Base16MochaDark +# Base16OceanLight +# InspiredGitHub +# SolarizedDark +# SolarizedLight +# If not set, will default to "Base16OceanDark". +# default_theme: Base16OceanDark + +# (Optional) +# Path to .tmtheme file for the syntax highlighting. +# If not set, default_theme will be used. +# theme_path: "/home/kyohei/.config/felix/monokai.tmtheme" + +# The foreground color of directory, file and symlink. +# Pick one of the following: +# Black // 0 +# Red // 1 +# Green // 2 +# Yellow // 3 +# Blue // 4 +# Magenta // 5 +# Cyan // 6 +# White // 7 +# LightBlack // 8 +# LightRed // 9 +# LightGreen // 10 +# LightYellow // 11 +# LightBlue // 12 +# LightMagenta // 13 +# LightCyan // 14 +# LightWhite // 15 +# Rgb(u8, u8, u8) +# AnsiValue(u8) +# For more details, see https://docs.rs/termion/1.5.6/termion/color/index.html +color: + dir_fg: LightCyan + file_fg: LightWhite + symlink_fg: LightYellow diff --git a/home/.config/fish/config.fish b/home/.config/fish/config.fish new file mode 100644 index 0000000..c285bbe --- /dev/null +++ b/home/.config/fish/config.fish @@ -0,0 +1,33 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end + +alias conf="z ~/.config" +alias nixos="z /etc/nixos" +alias store="z /nix/store" +alias nswitch="sudo nixos-rebuild switch --flake .#" +alias nswitchu="sudo nixos-rebuild switch --flake .# --upgrade" +alias ncsu="sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos" +alias nsgc="sudo nix-store --gc" +alias ncg="sudo nix-collect-garbage -d" + +# if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ] +# exec Hyprland +# end + +set -gx EDITOR hx +set -gx VOLUME_STEP 5 +set -gx BRIGHTNESS_STEP 5 + +set fish_vi_force_cursor +set fish_cursor_default block +set fish_cursor_insert line blink +set fish_cursor_visual underscore blink + +set -Ux FZF_DEFAULT_OPTS "\ +--color=bg+:#363a4f,bg:#24273a,spinner:#f4dbd6,hl:#ed8796 \ +--color=fg:#cad3f5,header:#ed8796,info:#c6a0f6,pointer:#f4dbd6 \ +--color=marker:#f4dbd6,fg+:#cad3f5,prompt:#c6a0f6,hl+:#ed8796" + +starship init fish | source +zoxide init fish | source diff --git a/home/.config/fish/fish_variables b/home/.config/fish/fish_variables new file mode 100644 index 0000000..2ea0bd9 --- /dev/null +++ b/home/.config/fish/fish_variables @@ -0,0 +1,32 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR --export FZF_DEFAULT_OPTS:\x2d\x2dcolor\x3dbg\x2b\x3a\x23363a4f\x2cbg\x3a\x2324273a\x2cspinner\x3a\x23f4dbd6\x2chl\x3a\x23ed8796\x20\x2d\x2dcolor\x3dfg\x3a\x23cad3f5\x2cheader\x3a\x23ed8796\x2cinfo\x3a\x23c6a0f6\x2cpointer\x3a\x23f4dbd6\x20\x2d\x2dcolor\x3dmarker\x3a\x23f4dbd6\x2cfg\x2b\x3a\x23cad3f5\x2cprompt\x3a\x23c6a0f6\x2chl\x2b\x3a\x23ed8796 +SETUVAR __fish_initialized:3400 +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:blue +SETUVAR fish_color_comment:red +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:green +SETUVAR fish_color_error:brred +SETUVAR fish_color_escape:brcyan +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:brcyan +SETUVAR fish_color_param:cyan +SETUVAR fish_color_quote:yellow +SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold +SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d111 +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_vi_key_bindings +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di +SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_pager_color_selected_background:\x2dr diff --git a/home/.config/fish/functions/airplane_mode_toggle.fish b/home/.config/fish/functions/airplane_mode_toggle.fish new file mode 100644 index 0000000..ae41ed7 --- /dev/null +++ b/home/.config/fish/functions/airplane_mode_toggle.fish @@ -0,0 +1,33 @@ +function airplane_mode_toggle + set backup_file ~/.cache/airplane_backup + + if test -e $backup_file + # Read network states from the backup file + set -l wifi_status (cat $backup_file | grep -o 'wifi:\(on\|off\)$' | cut -d':' -f2) + set -l bluetooth_status (cat $backup_file | grep -o 'bluetooth:\(on\|off\)$' | cut -d':' -f2) + + # Restore network states + if test "$wifi_status" = "on" + nmcli radio wifi on + # else + # nmcli radio wifi off + end + + if test "$bluetooth_status" = "on" + rfkill unblock bluetooth + # else + # rfkill block bluetooth + end + + # Remove the backup file + rm $backup_file + else + # Backup the current network states and turn off all networks + echo "wifi:$(rfkill list wifi | grep -q "Soft blocked: no" && echo "on" || echo "off")" > $backup_file + echo "bluetooth:$(rfkill list bluetooth | grep -qi "Soft blocked: no" && echo "on" || echo "off")" >> $backup_file + # Add more lines to backup other network types if needed + + nmcli radio wifi off + rfkill block bluetooth + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/bluetooth_toggle.fish b/home/.config/fish/functions/bluetooth_toggle.fish new file mode 100644 index 0000000..f563f2c --- /dev/null +++ b/home/.config/fish/functions/bluetooth_toggle.fish @@ -0,0 +1,9 @@ +function bluetooth_toggle + set bluetooth_status (rfkill list bluetooth | grep -i -o "Soft blocked: yes") + + if [ -z "$bluetooth_status" ] + rfkill block bluetooth + else + rfkill unblock bluetooth + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/bookmark_add.fish b/home/.config/fish/functions/bookmark_add.fish new file mode 100644 index 0000000..8872c51 --- /dev/null +++ b/home/.config/fish/functions/bookmark_add.fish @@ -0,0 +1,10 @@ +function bookmark_add + if [ -z $(wl-paste) ] + dunstify "Bookmarks" "Can`t add empty space" -u critical -t 2000 + else if grep -q "^$(wl-paste)\$" .bookmarks + dunstify "Bookmarks" "Bookmark '$(wl-paste)' already exists" -u critical -t 2000 + else + wl-paste >> .bookmarks; + dunstify "Bookmarks" "Bookmark '$(wl-paste)' was added" -t 2000 + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/bookmark_delete.fish b/home/.config/fish/functions/bookmark_delete.fish new file mode 100644 index 0000000..1c28e36 --- /dev/null +++ b/home/.config/fish/functions/bookmark_delete.fish @@ -0,0 +1,7 @@ +function bookmark_delete + set bookmark $(cat .bookmarks | rofi -dmenu -p 'delete bookmark') + if not [ -z $bookmark ] + sed -i -e /$bookmark/d .bookmarks + dunstify "Bookmarks" "Bookmark '$bookmark' was deleted" -t 2000 + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/bookmark_to_type.fish b/home/.config/fish/functions/bookmark_to_type.fish new file mode 100644 index 0000000..c10eb50 --- /dev/null +++ b/home/.config/fish/functions/bookmark_to_type.fish @@ -0,0 +1,3 @@ +function bookmark_to_type + cat .bookmarks | rofi -dmenu -p bookmarks | tr -d '\n' | wtype - +end \ No newline at end of file diff --git a/home/.config/fish/functions/check_airplane_mode.fish b/home/.config/fish/functions/check_airplane_mode.fish new file mode 100644 index 0000000..e117df9 --- /dev/null +++ b/home/.config/fish/functions/check_airplane_mode.fish @@ -0,0 +1,9 @@ +function check_airplane_mode + set backup_file ~/.cache/airplane_backup + + if test -e $backup_file + echo "{ \"text\":\"󰀝\", \"tooltip\": \"airplane-mode on\", \"class\": \"on\" }" + else + echo "{ \"text\":\"󰀞\", \"tooltip\": \"airplane-mode off\", \"class\": \"off\" }" + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/check_geo_module.fish b/home/.config/fish/functions/check_geo_module.fish new file mode 100644 index 0000000..211c054 --- /dev/null +++ b/home/.config/fish/functions/check_geo_module.fish @@ -0,0 +1,7 @@ +function check_geo_module + set target_process "geoclue" + + if pgrep $target_process > /dev/null + echo "{\"text\":\"󰆤\", \"tooltip\":\"Geopositioning\", \"alt\":\"Geo\"}" + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/check_night_mode.fish b/home/.config/fish/functions/check_night_mode.fish new file mode 100644 index 0000000..983e4c6 --- /dev/null +++ b/home/.config/fish/functions/check_night_mode.fish @@ -0,0 +1,9 @@ +function check_night_mode + set target_process "gammastep" + + if pgrep $target_process > /dev/null + echo "{ \"text\":\"󱩌\", \"tooltip\": \"night-mode on\", \"class\": \"on\" }" + else + echo "{ \"text\":\"󱩍\", \"tooltip\": \"night-mode off\", \"class\": \"off\" }" + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/check_recording.fish b/home/.config/fish/functions/check_recording.fish new file mode 100644 index 0000000..816fa17 --- /dev/null +++ b/home/.config/fish/functions/check_recording.fish @@ -0,0 +1,7 @@ +function check_recording + set target_process "wf-recorder" + + if pgrep $target_process > /dev/null + echo "{\"text\":\"\", \"tooltip\":\"Recording\", \"alt\":\"Recording\"}" + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/clipboard_clear.fish b/home/.config/fish/functions/clipboard_clear.fish new file mode 100644 index 0000000..2d970c3 --- /dev/null +++ b/home/.config/fish/functions/clipboard_clear.fish @@ -0,0 +1,5 @@ +function clipboard_clear + rm "$HOME/.cache/cliphist/db" + cb clr -a + dunstify "Clipboard" "Cleared" -t 2000 +end \ No newline at end of file diff --git a/home/.config/fish/functions/clipboard_delete_item.fish b/home/.config/fish/functions/clipboard_delete_item.fish new file mode 100644 index 0000000..4db0331 --- /dev/null +++ b/home/.config/fish/functions/clipboard_delete_item.fish @@ -0,0 +1,7 @@ +function clipboard_delete_item + set clip $(cliphist list | rofi -dmenu -p 'clipboard delete item') + if not [ -z $clip ] + echo $clip | cliphist delete + dunstify "Clipboard" "Clip '$clip' was deleted" -t 2000 + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/clipboard_to_type.fish b/home/.config/fish/functions/clipboard_to_type.fish new file mode 100644 index 0000000..4f9bee2 --- /dev/null +++ b/home/.config/fish/functions/clipboard_to_type.fish @@ -0,0 +1,3 @@ +function clipboard_to_type + cliphist list | rofi -dmenu -p clipboard | cliphist decode | wtype - +end \ No newline at end of file diff --git a/home/.config/fish/functions/clipboard_to_wlcopy.fish b/home/.config/fish/functions/clipboard_to_wlcopy.fish new file mode 100644 index 0000000..175ae24 --- /dev/null +++ b/home/.config/fish/functions/clipboard_to_wlcopy.fish @@ -0,0 +1,7 @@ +function clipboard_to_wlcopy + set clip $(cliphist list | rofi -dmenu -p 'clipboard copy') + if not [ -z $clip ] + echo $clip | cliphist decode | wl-copy + dunstify "Clipboard" "Clip '$clip' was copied" -t 2000 + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/dunst_pause.fish b/home/.config/fish/functions/dunst_pause.fish new file mode 100644 index 0000000..d0898f5 --- /dev/null +++ b/home/.config/fish/functions/dunst_pause.fish @@ -0,0 +1,20 @@ +function dunst_pause + set COUNT_WAITING (dunstctl count waiting) + set COUNT_DISPLAYED (dunstctl count displayed) + set ENABLED "{ \"text\": \"󰂜\", \"tooltip\": \"notifications on\", \"class\": \"on\" }" + set DISABLED "{ \"text\": \"󰪑\", \"tooltip\": \"notifications off\", \"class\": \"off\" }" + + if [ $COUNT_DISPLAYED != 0 ] + set ENABLED "{ \"text\": \"󰂚$COUNT_DISPLAYED\", \"tooltip\": \"$COUNT_DISPLAYED notifications\", \"class\": \"on\" }" + end + + if [ $COUNT_WAITING != 0 ] + set DISABLED "{ \"text\": \"󰂛$COUNT_WAITING\", \"tooltip\": \"(silent) $COUNT_WAITING notifications\", \"class\": \"off\" }" + end + + if dunstctl is-paused | rg -q "false" + echo $ENABLED + else + echo $DISABLED + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/fetch_music_player_data.fish b/home/.config/fish/functions/fetch_music_player_data.fish new file mode 100644 index 0000000..a226098 --- /dev/null +++ b/home/.config/fish/functions/fetch_music_player_data.fish @@ -0,0 +1,3 @@ +function fetch_music_player_data + playerctl -a metadata --format "{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}}: {{artist}} - {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}" -F +end \ No newline at end of file diff --git a/home/.config/fish/functions/fish_greeting.fish b/home/.config/fish/functions/fish_greeting.fish new file mode 100644 index 0000000..290a700 --- /dev/null +++ b/home/.config/fish/functions/fish_greeting.fish @@ -0,0 +1,8 @@ +function fish_greeting + set_color blue; echo " Distro:  NixOS" + set_color white; echo " Langs:  Rust  Go  JS 󰛦 TS  Python  WasmEdge" + set_color green; echo " Shell: 󰈺 Fish" + set_color yellow; echo "󰟶 Mood: 👨‍💻" + set_color cyan; figlet random -f binary + # clear +end \ No newline at end of file diff --git a/home/.config/fish/functions/fish_user_key_bindings.fish b/home/.config/fish/functions/fish_user_key_bindings.fish new file mode 100644 index 0000000..83c8856 --- /dev/null +++ b/home/.config/fish/functions/fish_user_key_bindings.fish @@ -0,0 +1,10 @@ +function fish_user_key_bindings + # Execute this once per mode that emacs bindings should be used in + fish_default_key_bindings -M insert + + # Then execute the vi-bindings so they take precedence when there's a conflict. + # Without --no-erase fish_vi_key_bindings will default to + # resetting all bindings. + # The argument specifies the initial mode (insert, "default" or visual). + fish_vi_key_bindings --no-erase insert +end \ No newline at end of file diff --git a/home/.config/fish/functions/night_mode_toggle.fish b/home/.config/fish/functions/night_mode_toggle.fish new file mode 100644 index 0000000..ff31eb7 --- /dev/null +++ b/home/.config/fish/functions/night_mode_toggle.fish @@ -0,0 +1,9 @@ +function night_mode_toggle + set target_process "gammastep" + + if pgrep $target_process > /dev/null + killall -s SIGINT .gammastep-wrap + else + gammastep + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/record_screen_gif.fish b/home/.config/fish/functions/record_screen_gif.fish new file mode 100644 index 0000000..777f6a0 --- /dev/null +++ b/home/.config/fish/functions/record_screen_gif.fish @@ -0,0 +1,16 @@ +function record_screen_gif + set target_process "wf-recorder" + + if pgrep $target_process > /dev/null + killall -s SIGINT $target_process + cb cp ~/Pictures/Records/(cd ~/Pictures/Records && ls -tA | head -n1 | awk '{print $NF}') + dunstify -i ~/.config/fish/icons/camera_gif_icon.png -r $(cd ~/Pictures/Records/ && ls -1 | wc -l) "Recording Stopped 󰙧 (GIF)" -t 2000 + else + set geometry (slurp) + if not [ -z $geometry ] + set record_name $(echo "recrod-$(date +"%Y-%m-%d--%H:%M:%S").gif") + dunstify -i ~/.config/fish/icons/camera_gif_icon.png -r $(cd ~/Pictures/Records/ && ls -1 | wc -l) "Recording Started  (GIF)" -t 2000 + wf-recorder -g "$geometry" -f "$HOME/Pictures/Records/$record_name" -c gif -F fps=30 + end + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/record_screen_mp4.fish b/home/.config/fish/functions/record_screen_mp4.fish new file mode 100644 index 0000000..a47c35a --- /dev/null +++ b/home/.config/fish/functions/record_screen_mp4.fish @@ -0,0 +1,16 @@ +function record_screen_mp4 + set target_process "wf-recorder" + + if pgrep $target_process > /dev/null + killall -s SIGINT $target_process + cb cp ~/Videos/Records/(cd ~/Videos/Records && ls -tA | head -n1 | awk '{print $NF}') + dunstify -i ~/.config/fish/icons/camera_mp4_icon.png -r $(cd ~/Videos/Records/ && ls -1 | wc -l) "Recording Stopped 󰙧 (MP4)" -t 2000 + else + set geometry (slurp) + if not [ -z $geometry ] + set record_name $(echo "recrod-$(date +"%Y-%m-%d--%H:%M:%S").mp4") + dunstify -i ~/.config/fish/icons/camera_mp4_icon.png -r $(cd ~/Videos/Records/ && ls -1 | wc -l) "Recording Started  (MP4)" -t 2000 + wf-recorder -g "$geometry" -f "$HOME/Videos/Records/$record_name" -c h264_vaapi -d /dev/dri/renderD128 + end + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/screenshot_edit.fish b/home/.config/fish/functions/screenshot_edit.fish new file mode 100644 index 0000000..935c5ea --- /dev/null +++ b/home/.config/fish/functions/screenshot_edit.fish @@ -0,0 +1,3 @@ +function screenshot_edit + swappy -f ~/Pictures/Screenshots/(cd ~/Pictures/Screenshots && ls -tA | head -n1 | awk '{print $NF}') +end \ No newline at end of file diff --git a/home/.config/fish/functions/screenshot_to_clipboard.fish b/home/.config/fish/functions/screenshot_to_clipboard.fish new file mode 100644 index 0000000..2f3d4d8 --- /dev/null +++ b/home/.config/fish/functions/screenshot_to_clipboard.fish @@ -0,0 +1,9 @@ +function screenshot_to_clipboard + set screenshot_filename (echo "$HOME/Pictures/Screenshots/screenshot-$(date +"%Y-%m-%d--%H:%M:%S").png") + grim -g (slurp) $screenshot_filename + + if [ -e $screenshot_filename ] + cat $screenshot_filename | wl-copy --type image/png + dunstify -i $screenshot_filename -r (cd ~/Pictures/Screenshots/ && ls -1 | wc -l) "Screenshots" "Screenshot was taken" -t 2000 + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/startup.fish b/home/.config/fish/functions/startup.fish new file mode 100644 index 0000000..594aaab --- /dev/null +++ b/home/.config/fish/functions/startup.fish @@ -0,0 +1,9 @@ +function startup + wpaperd & \ + waybar & \ + poweralertd & \ + wl-paste --watch cliphist store & \ + avizo-service & \ + systemctl --user start psi-notify &\ + swayidle -w +end \ No newline at end of file diff --git a/home/.config/fish/functions/tre.fish b/home/.config/fish/functions/tre.fish new file mode 100644 index 0000000..23ecbf1 --- /dev/null +++ b/home/.config/fish/functions/tre.fish @@ -0,0 +1,3 @@ +function tre + command tre $argv -e; and source /tmp/tre_aliases_$USER ^/dev/null +end \ No newline at end of file diff --git a/home/.config/fish/functions/wifi_toggle.fish b/home/.config/fish/functions/wifi_toggle.fish new file mode 100644 index 0000000..97f7e92 --- /dev/null +++ b/home/.config/fish/functions/wifi_toggle.fish @@ -0,0 +1,9 @@ +function wifi_toggle + set wifi_status (nmcli radio wifi) + + if [ "$wifi_status" = "enabled" ] + nmcli radio wifi off + else + nmcli radio wifi on + end +end \ No newline at end of file diff --git a/home/.config/fish/functions/wlogout_uniqe.fish b/home/.config/fish/functions/wlogout_uniqe.fish new file mode 100644 index 0000000..0e4b12a --- /dev/null +++ b/home/.config/fish/functions/wlogout_uniqe.fish @@ -0,0 +1,5 @@ +function wlogout_uniqe + if [ -z $(pidof wlogout) ] + wlogout + end +end \ No newline at end of file diff --git a/home/.config/fish/icons/camera_gif_icon.png b/home/.config/fish/icons/camera_gif_icon.png new file mode 100644 index 0000000..fb38d81 Binary files /dev/null and b/home/.config/fish/icons/camera_gif_icon.png differ diff --git a/home/.config/fish/icons/camera_mp4_icon.png b/home/.config/fish/icons/camera_mp4_icon.png new file mode 100644 index 0000000..3008d94 Binary files /dev/null and b/home/.config/fish/icons/camera_mp4_icon.png differ diff --git a/home/.config/fish/icons/rec_icon.png b/home/.config/fish/icons/rec_icon.png new file mode 100644 index 0000000..0815a45 Binary files /dev/null and b/home/.config/fish/icons/rec_icon.png differ diff --git a/home/.config/gh/config.yml b/home/.config/gh/config.yml new file mode 100644 index 0000000..a6fb3ee --- /dev/null +++ b/home/.config/gh/config.yml @@ -0,0 +1,15 @@ +# What protocol to use when performing git operations. Supported values: ssh, https +git_protocol: https +# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. +editor: hx +# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled +prompt: enabled +# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager. +pager: +# Aliases allow you to create nicknames for gh commands +aliases: + co: pr checkout +# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. +http_unix_socket: +# What web browser gh should use when opening URLs. If blank, will refer to environment. +browser: qutebrowser diff --git a/home/.config/gtk-3.0/bookmarks b/home/.config/gtk-3.0/bookmarks new file mode 100644 index 0000000..e69de29 diff --git a/home/.config/gtk-3.0/gtk.css b/home/.config/gtk-3.0/gtk.css new file mode 100644 index 0000000..5543973 --- /dev/null +++ b/home/.config/gtk-3.0/gtk.css @@ -0,0 +1 @@ +/* Feel free to edit this and see instantaneous results */ \ No newline at end of file diff --git a/home/.config/gtk-3.0/settings.ini b/home/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..9d87e56 --- /dev/null +++ b/home/.config/gtk-3.0/settings.ini @@ -0,0 +1,16 @@ +[Settings] +gtk-theme-name=Catppuccin-Macchiato-Standard-Teal-dark +gtk-application-prefer-dark-theme=false +gtk-icon-theme-name=Colloid-teal-dark +gtk-cursor-theme-name=Catppuccin-Macchiato-Teal-Cursors +gtk-cursor-theme-size=24 +gtk-font-name=JetBrains Mono 11 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=none +gtk-xft-dpi=98304 +gtk-overlay-scrolling=true +gtk-key-theme-name=Default +gtk-menu-images=false +gtk-button-images=false diff --git a/home/.config/gtk-4.0/gtk.css b/home/.config/gtk-4.0/gtk.css new file mode 100644 index 0000000..5543973 --- /dev/null +++ b/home/.config/gtk-4.0/gtk.css @@ -0,0 +1 @@ +/* Feel free to edit this and see instantaneous results */ \ No newline at end of file diff --git a/home/.config/gtk-4.0/settings.ini b/home/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..b473065 --- /dev/null +++ b/home/.config/gtk-4.0/settings.ini @@ -0,0 +1,13 @@ +[Settings] +gtk-theme-name=Catppuccin-Macchiato-Standard-Teal-dark +gtk-application-prefer-dark-theme=false +gtk-icon-theme-name=Colloid-teal-dark +gtk-cursor-theme-name=Catppuccin-Macchiato-Teal-Cursors +gtk-cursor-theme-size=24 +gtk-font-name=JetBrains Mono 11 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=none +gtk-xft-dpi=98304 +gtk-overlay-scrolling=true diff --git a/home/.config/helix/config.toml b/home/.config/helix/config.toml new file mode 100644 index 0000000..bfa0a2c --- /dev/null +++ b/home/.config/helix/config.toml @@ -0,0 +1,36 @@ +theme = "catppuccin_macchiato_transparent" + +[editor] +shell = ["fish", "-c"] +line-number = "relative" +cursorline = true +color-modes = true +auto-save = true +idle-timeout = 0 +bufferline = "multiple" + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[editor.indent-guides] +render = true + +[editor.statusline] +left = ["mode", "spinner", "file-name", "separator", "total-line-numbers", "separator", "version-control"] +right = ["diagnostics", "separator", "selections", "separator", "position", "position-percentage", "spacer", "separator", "file-encoding", "file-line-ending", "separator", "file-type"] +separator = "│" + +[editor.lsp] +display-messages = true +# display-inlay-hints = true + +# [editor.file-picker] +# max-depth = 10 + +[editor.soft-wrap] +enable = true + +[keys.normal] +backspace = { w = ":w", c = ":bc", q = ":q", A-q = ":q!" } diff --git a/home/.config/helix/languages.toml b/home/.config/helix/languages.toml new file mode 100644 index 0000000..36baebb --- /dev/null +++ b/home/.config/helix/languages.toml @@ -0,0 +1,27 @@ +[[language]] +name = "javascript" +auto-format = true + +[[language]] +name = "jsx" +auto-format = true + +[[language]] +name = "typescript" +auto-format = true + +[[language]] +name = "tsx" +auto-format = true + +[[language]] +name = "rust" +config = { checkOnSave = { command = "clippy" } } + +[[language]] +name = "config" +scope = "source.conf" +file-types = [ "conf" ] +comment-token = "#" +roots = [] +indent = { tab-width = 4, unit = " " } \ No newline at end of file diff --git a/home/.config/helix/themes/catppuccin_macchiato_transparent.toml b/home/.config/helix/themes/catppuccin_macchiato_transparent.toml new file mode 100644 index 0000000..b2c99fa --- /dev/null +++ b/home/.config/helix/themes/catppuccin_macchiato_transparent.toml @@ -0,0 +1,3 @@ +inherits = "catppuccin_macchiato" + +"ui.background" = { bg = "transparent" } \ No newline at end of file diff --git a/home/.config/htop/htoprc b/home/.config/htop/htoprc new file mode 100644 index 0000000..1ed5711 --- /dev/null +++ b/home/.config/htop/htoprc @@ -0,0 +1,61 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +htop_version=3.2.1 +config_reader_min_version=3 +fields=0 48 17 18 38 39 40 2 46 47 49 1 +hide_kernel_threads=1 +hide_userland_threads=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=0 +highlight_deleted_exe=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +header_margin=1 +screen_tabs=1 +detailed_cpu_time=0 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=0 +show_cpu_temperature=0 +degree_fahrenheit=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=1 +delay=15 +hide_function_bar=0 +header_layout=two_50_50 +column_meters_0=LeftCPUs Memory Swap +column_meter_modes_0=1 1 1 +column_meters_1=RightCPUs Tasks LoadAverage Uptime +column_meter_modes_1=1 2 2 2 +tree_view=0 +sort_key=46 +tree_sort_key=0 +sort_direction=-1 +tree_sort_direction=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 +screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_CPU +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 +screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE +.sort_key=IO_RATE +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/home/.config/hypr/hyprland.conf b/home/.config/hypr/hyprland.conf new file mode 100644 index 0000000..abcbd0c --- /dev/null +++ b/home/.config/hypr/hyprland.conf @@ -0,0 +1,281 @@ + +######################################################################################## +AUTOGENERATED HYPR CONFIG. +PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +######################################################################################## + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +#autogenerated = 1 # remove this line to remove the warning + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,1.2 + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +exec-once = fish -c startup + + +# Source a file (multi-file configs) +source = ~/.config/hypr/macchiato.conf + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us,ua,ru + kb_variant = + kb_model = + kb_options = grp:alt_shift_toggle + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = yes + tap-and-drag = true + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +# XWayland disable scaling +# xwayland { +# force_zero_scaling = true +# } + +# env = GDK_SCALE, 1.2 +# env = XCURSOR_SIZE, 24 + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 10 + border_size = 2 + col.active_border = $teal + col.inactive_border = $surface1 + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + size = 8 + passes = 2 + } + + drop_shadow = yes + shadow_range = 15 + shadow_offset = 0, 0 + shadow_render_power = 3 + col.shadow = $teal + col.shadow_inactive = $base; + + active_opacity = 0.7 + inactive_opacity = 0.7 + fullscreen_opacity = 0.7 +} + +# layerrule = blur, waybar + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 2, myBezier + animation = windowsOut, 1, 2, default, popin 80% + animation = border, 1, 3, default + animation = fade, 1, 2, default + animation = workspaces, 1, 1, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this + smart_split = true; +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = on +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + background_color = 0x24273a +} + +binds { + workspace_back_and_forth = true +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic mouse V1 { + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +windowrule = opaque, brave +windowrule = float, imv +windowrule = opaque, imv +windowrule = float, title:(Media viewer) +windowrule = opaque, title:(Media viewer) +windowrule = opaque, telegram +windowrule = float, mpv +windowrule = opaque, mpv +windowrule = opaque, swappy +windowrule = center 1, swappy +windowrule = stayfocused, swappy +# windowrule = size 50% 50%, mpv +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# will switch to a submap called resize +bind=ALT,R,submap,resize + +# will start a submap called "resize" +submap=resize + +# sets repeatable binds for resizing the active window +binde=,l,resizeactive,10 0 +binde=,h,resizeactive,-10 0 +binde=,k,resizeactive,0 -10 +binde=,j,resizeactive,0 10 + +# use reset to go back to the global submap +bind=,escape,submap,reset + +# will reset the submap, meaning end the current one and return to the global one +submap=reset + +# will switch to a submap called move +bind=ALT,M,submap,move + +# will start a submap called "move" +submap=move + +# sets repeatable binds for moving the active window +bind=,l,movewindow,r +bind=,h,movewindow,l +bind=,k,movewindow,u +bind=,j,movewindow,d + +# use reset to go back to the global submap +bind=,escape,submap,reset + +# will reset the submap, meaning end the current one and return to the global one +submap=reset + +# keybinds further down will be global again... + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, wezterm +bind = $mainMod SHIFT, T, exec, telegram-desktop +bind = $mainMod, B, exec, qutebrowser +bind = $mainMod SHIFT, B, exec, brave +bind = $mainMod, F, exec, thunar +bind = $mainMod, S, exec, spotify +bind = $mainMod, D, exec, rofi -show drun +bind = $mainMod SHIFT, D, exec, firejail --apparmor discord +bind = $mainMod, ESCAPE, exec, fish -c wlogout_uniqe +bind = $mainMod SHIFT, L, exec, swaylock +bind = $mainMod SHIFT, S, exec, fish -c screenshot_to_clipboard +bind = $mainMod, E, exec, fish -c screenshot_edit +bind = $mainMod SHIFT, R, exec, fish -c record_screen_gif +bind = $mainMod, R, exec, fish -c record_screen_mp4 +bind = $mainMod, V, exec, fish -c clipboard_to_type +bind = $mainMod SHIFT, V, exec, fish -c clipboard_to_wlcopy +bind = $mainMod, X, exec, fish -c clipboard_delete_item +bind = $mainMod SHIFT, X, exec, fish -c clipboard_clear +bind = $mainMod, U, exec, fish -c bookmark_to_type +bind = $mainMod SHIFT, U, exec, fish -c bookmark_add +bind = $mainMod CTRL, U, exec, fish -c bookmark_delete +bind = $mainMod, C, exec, hyprpicker -a +bind = $mainMod SHIFT, Q, killactive +bind = $mainMod SHIFT, F, togglefloating, +bind = $mainMod CTRL, F, fullscreen, 0 +bind = $mainMod SHIFT, P, pseudo, # dwindle +bind = $mainMod SHIFT, O, togglesplit, # dwindle +bind = $mainMod SHIFT, M, exit, + +bind = $mainMod SHIFT, A, exec, fish -c airplane_mode_toggle +bind = $mainMod SHIFT, N, exec, dunstctl set-paused toggle +bind = $mainMod SHIFT, Y, exec, fish -c bluetooth_toggle +bind = $mainMod SHIFT, W, exec, fish -c wifi_toggle + +bind = $mainMod, p, exec, playerctl play-pause +bind = $mainMod, bracketright, exec, playerctl next +bind = $mainMod, bracketleft, exec, playerctl previous + +bind = , XF86AudioRaiseVolume, exec, volumectl -u up +bind = , XF86AudioLowerVolume, exec, volumectl -u down +bind = , XF86AudioMute, exec, volumectl toggle-mute +bind = , XF86AudioMicMute, exec, volumectl -m toggle-mute + +bind = , XF86MonBrightnessUp, exec, lightctl up +bind = , XF86MonBrightnessDown, exec, lightctl down + +# Move focus with mainMod + arrow keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d +bind = $mainMod, Tab, cyclenext, +bind = $mainMod, Tab, bringactivetotop, + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/home/.config/hypr/macchiato.conf b/home/.config/hypr/macchiato.conf new file mode 100644 index 0000000..10d064d --- /dev/null +++ b/home/.config/hypr/macchiato.conf @@ -0,0 +1,29 @@ +$rosewater = 0xfff4dbd6 +$flamingo = 0xfff0c6c6 +$pink = 0xfff5bde6 +$mauve = 0xffc6a0f6 +$red = 0xffed8796 +$maroon = 0xffee99a0 +$peach = 0xfff5a97f +$green = 0xffa6da95 +$teal = 0xff8bd5ca +$sky = 0xff91d7e3 +$sapphire = 0xff7dc4e4 +$blue = 0xff8aadf4 +$lavender = 0xffb7bdf8 + +$text = 0xffcad3f5 +$subtext1 = 0xffb8c0e0 +$subtext0 = 0xffa5adcb + +$overlay2 = 0xff939ab7 +$overlay1 = 0xff8087a2 +$overlay0 = 0xff6e738d + +$surface2 = 0xff5b6078 +$surface1 = 0xff494d64 +$surface0 = 0xff363a4f + +$base = 0xff24273a +$mantle = 0xff1e2030 +$crust = 0xff181926 diff --git a/home/.config/lazygit/config.yml b/home/.config/lazygit/config.yml new file mode 100644 index 0000000..1a757af --- /dev/null +++ b/home/.config/lazygit/config.yml @@ -0,0 +1,19 @@ +theme: + lightTheme: false + activeBorderColor: + - "#a6da95" # Green + - bold + inactiveBorderColor: + - "#cad3f5" # Text + optionsTextColor: + - "#8aadf4" # Blue + selectedLineBgColor: + - "#363a4f" # Surface0 + selectedRangeBgColor: + - "#363a4f" # Surface0 + cherryPickedCommitBgColor: + - "#8bd5ca" # Teal + cherryPickedCommitFgColor: + - "#8aadf4" # Blue + unstagedChangesColor: + - red # Red \ No newline at end of file diff --git a/home/.config/mimeapps.list b/home/.config/mimeapps.list new file mode 100644 index 0000000..d7e2a40 --- /dev/null +++ b/home/.config/mimeapps.list @@ -0,0 +1,44 @@ +[Default Applications] +image/jpeg=imv-folder.desktop +image/bmp=imv-folder.desktop +image/gif=imv-folder.desktop +image/jpg=imv-folder.desktop +image/pjpeg=imv-folder.desktop +image/png=imv-folder.desktop +image/tiff=imv-folder.desktop +image/x-bmp=imv-folder.desktop +image/x-pcx=imv-folder.desktop +image/x-png=imv-folder.desktop +image/x-portable-anymap=imv-folder.desktop +image/x-portable-bitmap=imv-folder.desktop +image/x-portable-graymap=imv-folder.desktop +image/x-portable-pixmap=imv-folder.desktop +image/x-tga=imv-folder.desktop +image/x-xbitmap=imv-folder.desktop +application/pdf=org.pwmt.zathura-pdf-mupdf.desktop +image/svg+xml=imv-folder.desktop +x-scheme-handler/tg=userapp-Telegram Desktop-ULF1Y1.desktop +text/plain=Helix.desktop + +[Added Associations] +image/bmp=imv-folder.desktop; +image/gif=imv.desktop;imv-folder.desktop; +image/jpg=imv-folder.desktop; +image/pjpeg=imv-folder.desktop; +image/png=imv.desktop;imv-folder.desktop; +image/tiff=imv-folder.desktop; +image/x-bmp=imv-folder.desktop; +image/x-pcx=imv-folder.desktop; +image/x-png=imv-folder.desktop; +image/x-portable-anymap=imv-folder.desktop; +image/x-portable-bitmap=imv-folder.desktop; +image/x-portable-graymap=imv-folder.desktop; +image/x-portable-pixmap=imv-folder.desktop; +image/x-tga=imv-folder.desktop; +image/x-xbitmap=imv-folder.desktop; +application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; +image/svg+xml=code.desktop;imv-folder.desktop; +x-scheme-handler/tg=userapp-Telegram Desktop-ULF1Y1.desktop; +text/plain=Helix.desktop; +image/jpeg=imv.desktop; +video/mp4=umpv.desktop; diff --git a/home/.config/mpv/mpv.conf b/home/.config/mpv/mpv.conf new file mode 100644 index 0000000..0943984 --- /dev/null +++ b/home/.config/mpv/mpv.conf @@ -0,0 +1,5 @@ +hwdec=auto-safe +vo=gpu +profile=gpu-hq + +gpu-context=wayland \ No newline at end of file diff --git a/home/.config/neofetch/Makima_nixos.png b/home/.config/neofetch/Makima_nixos.png new file mode 100644 index 0000000..a4ee0a3 Binary files /dev/null and b/home/.config/neofetch/Makima_nixos.png differ diff --git a/home/.config/neofetch/config.conf b/home/.config/neofetch/config.conf new file mode 100644 index 0000000..147f5db --- /dev/null +++ b/home/.config/neofetch/config.conf @@ -0,0 +1,878 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + info title + info underline + + info "$(color 1) OS" distro + info "$(color 2)󰌢 Host" model + info "$(color 3) Kernel" kernel + info "$(color 4)↑ Uptime" uptime + info "$(color 5) Packages" packages + info "$(color 6) Shell" shell + info "$(color 7)󰹑 Resolution" resolution + info "$(color 9)󰨇 DE" de + info "$(color 10)󰭠 WM Theme" wm_theme + info "$(color 11)󱕕 Theme" theme + info "$(color 12)󱁹 Icons" icons + info "$(color 14) Font" font + info "$(color 14) Terminal Font" term_font + info "$(color 13) Terminal" term + info "$(color 15) CPU" cpu + info "$(color 16) GPU" gpu + info "$(color 2)󰃽 GPU Driver" gpu_driver # Linux/macOS only + info "$(color 17) Memory" memory + info "$(color 17)󰋊 Disk" disk + info "$(color 6)󰂀 Battery" battery + info "󰝚 Song" song + [[ "$player" ]] && prin " Music Player" "󰓇 $player" + # info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info cols +} + +# Title + + +# Hide/Show Fully qualified domain name. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="on" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="off" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="on" + + +# Memory + + +# Show memory percentage in output. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="on" + +# Change memory output unit. +# +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="mib" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="off" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="on" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + +# Local IP interface +# +# Default: 'auto' (interface of default route) +# Values: 'auto', 'en0', 'en1' +# Flag: --ip_interface +local_ip_interface=('auto') + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="on" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="mount" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# Music +# juk +# lollypop +# MellowPlayer +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="spotify" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %album% - %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=":" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug', +# 'viu' + +# Flag: --backend +image_backend="viu" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="$HOME/.config/neofetch/Makima_nixos.png" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS, +# Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft, +# ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, +# Artix, Arya, Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, +# Bodhi, bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres, +# Container_Linux, Crystal Linux, CRUX, Cucumber, dahlia, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, HydroOS +# Hyperbola, iglunix, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora, +# KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE, +# Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui, +# Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD, +# Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD, +# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt, +# osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix, +# TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS, +# Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian, +# Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith, +# Rocky, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor, +# SereneLinux, SharkLinux, Siduction, SkiffOS, Slackware, SliTaz, SmartOS, +# Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, t2, +# openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel, +# Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, +# Ubuntu-Studio, Ubuntu, Univention, Venom, Void, VNux, LangitKetujuh, semc, +# Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos. +# NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="auto" + +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Catimg block size. +# Control the resolution of catimg. +# +# Default: '2' +# Values: '1', '2' +# Flags: --catimg_size +catimg_size="2" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/home/.config/nixpkgs/config.nix b/home/.config/nixpkgs/config.nix new file mode 100644 index 0000000..5465785 --- /dev/null +++ b/home/.config/nixpkgs/config.nix @@ -0,0 +1,7 @@ +{ + packageOverrides = pkgs: { + nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { + inherit pkgs; + }; + }; +} \ No newline at end of file diff --git a/home/.config/pavucontrol.ini b/home/.config/pavucontrol.ini new file mode 100644 index 0000000..bfbe001 --- /dev/null +++ b/home/.config/pavucontrol.ini @@ -0,0 +1,8 @@ +[window] +width=1515 +height=803 +sinkInputType=1 +sourceOutputType=1 +sinkType=0 +sourceType=1 +showVolumeMeters=1 diff --git a/home/.config/qutebrowser/autoconfig.yml b/home/.config/qutebrowser/autoconfig.yml new file mode 100644 index 0000000..42a722c --- /dev/null +++ b/home/.config/qutebrowser/autoconfig.yml @@ -0,0 +1,31 @@ +# If a config.py file exists, this file is ignored unless it's explicitly loaded +# via config.load_autoconfig(). For more information, see: +# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml +# DO NOT edit this file by hand, qutebrowser will overwrite it. +# Instead, create a config.py - see :help for details. + +config_version: 2 +settings: + auto_save.session: + global: true + bindings.commands: + global: + normal: + M: hint links spawn mpv {hint-url} + colors.webpage.darkmode.enabled: + global: false + colors.webpage.preferred_color_scheme: + global: dark + content.blocking.method: + global: both + fonts.default_family: + global: JetBrains Mono + fonts.default_size: + global: 11pt + spellcheck.languages: + global: + - en-US + - uk-UA + - ru-RU + tabs.position: + global: left diff --git a/home/.config/qutebrowser/bookmarks/urls b/home/.config/qutebrowser/bookmarks/urls new file mode 100644 index 0000000..e69de29 diff --git a/home/.config/qutebrowser/catppuccin/.editorconfig b/home/.config/qutebrowser/catppuccin/.editorconfig new file mode 100644 index 0000000..d86ac02 --- /dev/null +++ b/home/.config/qutebrowser/catppuccin/.editorconfig @@ -0,0 +1,34 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# EditorConfig is awesome: https://EditorConfig.org + +root = true + +[*] +charset = utf-8 +indent_size = 2 +indent_style = space +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +# go +[*.go] +indent_style = tab +indent_size = 4 + +# python +[*.{ini,py,py.tpl,rst}] +indent_size = 4 + +# rust +[*.rs] +indent_size = 4 + +# documentation, utils +[*.{md,mdx,diff}] +trim_trailing_whitespace = false + +# windows shell scripts +[*.{cmd,bat,ps1}] +end_of_line = crlf diff --git a/home/.config/qutebrowser/catppuccin/LICENSE b/home/.config/qutebrowser/catppuccin/LICENSE new file mode 100644 index 0000000..006383b --- /dev/null +++ b/home/.config/qutebrowser/catppuccin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/home/.config/qutebrowser/catppuccin/README.md b/home/.config/qutebrowser/catppuccin/README.md new file mode 100644 index 0000000..c9a27bb --- /dev/null +++ b/home/.config/qutebrowser/catppuccin/README.md @@ -0,0 +1,65 @@ +

+ Logo
+ + Catppuccin for qutebrowser + +

+ +

+ + + +

+ +

+ +

+ +## Usage + +1. Find out where the qutebrowser stores its `config` directory for your OS.
+ Run `:version`, and take a look at `Paths: config` to find out. + +2. Clone this repo into that `config` directory: + +```sh +# Linux +$ git clone https://github.com/catppuccin/qutebrowser.git ~/.config/qutebrowser/catppuccin +# macOS +$ git clone https://github.com/catppuccin/qutebrowser.git ~/.qutebrowser/catppuccin +# windows +$ git clone https://github.com/catppuccin/qutebrowser.git $LOCALAPPDATA/qutebrowser/config/catppuccin +``` + +3. Make sure your `config.py` contains: + +```python +import catppuccin + +# load your autoconfig, use this if the rest of your config is empty! +config.load_autoconfig() + +# set the flavour you'd like to use +# valid options are 'mocha', 'macchiato', 'frappe', and 'latte' +catppuccin.setup(c, 'mocha') +``` + +4. Done! + +## 💝 Thanks to + +- [winston](https://github.com/nekowinston) + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ +

+ +

diff --git a/home/.config/qutebrowser/catppuccin/__init__.py b/home/.config/qutebrowser/catppuccin/__init__.py new file mode 100644 index 0000000..64655ad --- /dev/null +++ b/home/.config/qutebrowser/catppuccin/__init__.py @@ -0,0 +1 @@ +from .setup import setup diff --git a/home/.config/qutebrowser/catppuccin/__pycache__/__init__.cpython-310.pyc b/home/.config/qutebrowser/catppuccin/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..fbdb699 Binary files /dev/null and b/home/.config/qutebrowser/catppuccin/__pycache__/__init__.cpython-310.pyc differ diff --git a/home/.config/qutebrowser/catppuccin/__pycache__/setup.cpython-310.pyc b/home/.config/qutebrowser/catppuccin/__pycache__/setup.cpython-310.pyc new file mode 100644 index 0000000..c2ac1ac Binary files /dev/null and b/home/.config/qutebrowser/catppuccin/__pycache__/setup.cpython-310.pyc differ diff --git a/home/.config/qutebrowser/catppuccin/assets/screenshot.png b/home/.config/qutebrowser/catppuccin/assets/screenshot.png new file mode 100644 index 0000000..c77fc13 Binary files /dev/null and b/home/.config/qutebrowser/catppuccin/assets/screenshot.png differ diff --git a/home/.config/qutebrowser/catppuccin/setup.py b/home/.config/qutebrowser/catppuccin/setup.py new file mode 100644 index 0000000..af2530a --- /dev/null +++ b/home/.config/qutebrowser/catppuccin/setup.py @@ -0,0 +1,344 @@ +# vim:fileencoding=utf-8:foldmethod=marker + + +def setup(c, flavour): + palette = {} + + # flavours {{{ + if flavour == "latte": + palette = { + "rosewater": "#dc8a78", + "flamingo": "#dd7878", + "pink": "#ea76cb", + "mauve": "#8839ef", + "red": "#d20f39", + "maroon": "#e64553", + "peach": "#fe640b", + "yellow": "#df8e1d", + "green": "#40a02b", + "teal": "#179299", + "sky": "#04a5e5", + "sapphire": "#209fb5", + "blue": "#1e66f5", + "lavender": "#7287fd", + "text": "#4c4f69", + "subtext1": "#5c5f77", + "subtext0": "#6c6f85", + "overlay2": "#7c7f93", + "overlay1": "#8c8fa1", + "overlay0": "#9ca0b0", + "surface2": "#acb0be", + "surface1": "#bcc0cc", + "surface0": "#ccd0da", + "base": "#eff1f5", + "mantle": "#e6e9ef", + "crust": "#dce0e8", + } + elif flavour == "frappe": + palette = { + "rosewater": "#f2d5cf", + "flamingo": "#eebebe", + "pink": "#f4b8e4", + "mauve": "#ca9ee6", + "red": "#e78284", + "maroon": "#ea999c", + "peach": "#ef9f76", + "yellow": "#e5c890", + "green": "#a6d189", + "teal": "#81c8be", + "sky": "#99d1db", + "sapphire": "#85c1dc", + "blue": "#8caaee", + "lavender": "#babbf1", + "text": "#c6d0f5", + "subtext1": "#b5bfe2", + "subtext0": "#a5adce", + "overlay2": "#949cbb", + "overlay1": "#838ba7", + "overlay0": "#737994", + "surface2": "#626880", + "surface1": "#51576d", + "surface0": "#414559", + "base": "#303446", + "mantle": "#292c3c", + "crust": "#232634", + } + elif flavour == "macchiato": + palette = { + "rosewater": "#f4dbd6", + "flamingo": "#f0c6c6", + "pink": "#f5bde6", + "mauve": "#c6a0f6", + "red": "#ed8796", + "maroon": "#ee99a0", + "peach": "#f5a97f", + "yellow": "#eed49f", + "green": "#a6da95", + "teal": "#8bd5ca", + "sky": "#91d7e3", + "sapphire": "#7dc4e4", + "blue": "#8aadf4", + "lavender": "#b7bdf8", + "text": "#cad3f5", + "subtext1": "#b8c0e0", + "subtext0": "#a5adcb", + "overlay2": "#939ab7", + "overlay1": "#8087a2", + "overlay0": "#6e738d", + "surface2": "#5b6078", + "surface1": "#494d64", + "surface0": "#363a4f", + "base": "#24273a", + "mantle": "#1e2030", + "crust": "#181926", + } + else: + palette = { + "rosewater": "#f5e0dc", + "flamingo": "#f2cdcd", + "pink": "#f5c2e7", + "mauve": "#cba6f7", + "red": "#f38ba8", + "maroon": "#eba0ac", + "peach": "#fab387", + "yellow": "#f9e2af", + "green": "#a6e3a1", + "teal": "#94e2d5", + "sky": "#89dceb", + "sapphire": "#74c7ec", + "blue": "#89b4fa", + "lavender": "#b4befe", + "text": "#cdd6f4", + "subtext1": "#bac2de", + "subtext0": "#a6adc8", + "overlay2": "#9399b2", + "overlay1": "#7f849c", + "overlay0": "#6c7086", + "surface2": "#585b70", + "surface1": "#45475a", + "surface0": "#313244", + "base": "#1e1e2e", + "mantle": "#181825", + "crust": "#11111b", + } + # }}} + + # completion {{{ + ## Background color of the completion widget category headers. + c.colors.completion.category.bg = palette["base"] + ## Bottom border color of the completion widget category headers. + c.colors.completion.category.border.bottom = palette["mantle"] + ## Top border color of the completion widget category headers. + c.colors.completion.category.border.top = palette["overlay2"] + ## Foreground color of completion widget category headers. + c.colors.completion.category.fg = palette["green"] + + ## Background color of the completion widget for even rows. + c.colors.completion.even.bg = palette["mantle"] + ## Background color of the completion widget for odd rows. + c.colors.completion.odd.bg = palette["crust"] + ## Text color of the completion widget. + c.colors.completion.fg = palette["subtext0"] + + ## Background color of the selected completion item. + c.colors.completion.item.selected.bg = palette["surface2"] + ## Bottom border color of the selected completion item. + c.colors.completion.item.selected.border.bottom = palette["surface2"] + ## Top border color of the completion widget category headers. + c.colors.completion.item.selected.border.top = palette["surface2"] + ## Foreground color of the selected completion item. + c.colors.completion.item.selected.fg = palette["text"] + ## Foreground color of the selected completion item. + c.colors.completion.item.selected.match.fg = palette["rosewater"] + ## Foreground color of the matched text in the completion. + c.colors.completion.match.fg = palette["text"] + + ## Color of the scrollbar in completion view + c.colors.completion.scrollbar.bg = palette["crust"] + ## Color of the scrollbar handle in completion view. + c.colors.completion.scrollbar.fg = palette["surface2"] + # }}} + + # downloads {{{ + c.colors.downloads.bar.bg = palette["base"] + c.colors.downloads.error.bg = palette["base"] + c.colors.downloads.start.bg = palette["base"] + c.colors.downloads.stop.bg = palette["base"] + + c.colors.downloads.error.fg = palette["red"] + c.colors.downloads.start.fg = palette["blue"] + c.colors.downloads.stop.fg = palette["green"] + c.colors.downloads.system.fg = "none" + c.colors.downloads.system.bg = "none" + # }}} + + # hints {{{ + ## Background color for hints. Note that you can use a `rgba(...)` value + ## for transparency. + c.colors.hints.bg = palette["peach"] + + ## Font color for hints. + c.colors.hints.fg = palette["mantle"] + + ## Hints + c.hints.border = "1px solid " + palette["mantle"] + + ## Font color for the matched part of hints. + c.colors.hints.match.fg = palette["subtext1"] + # }}} + + # keyhints {{{ + ## Background color of the keyhint widget. + c.colors.keyhint.bg = palette["mantle"] + + ## Text color for the keyhint widget. + c.colors.keyhint.fg = palette["text"] + + ## Highlight color for keys to complete the current keychain. + c.colors.keyhint.suffix.fg = palette["subtext1"] + # }}} + + # messages {{{ + ## Background color of an error message. + c.colors.messages.error.bg = palette["overlay0"] + ## Background color of an info message. + c.colors.messages.info.bg = palette["overlay0"] + ## Background color of a warning message. + c.colors.messages.warning.bg = palette["overlay0"] + + ## Border color of an error message. + c.colors.messages.error.border = palette["mantle"] + ## Border color of an info message. + c.colors.messages.info.border = palette["mantle"] + ## Border color of a warning message. + c.colors.messages.warning.border = palette["mantle"] + + ## Foreground color of an error message. + c.colors.messages.error.fg = palette["red"] + ## Foreground color an info message. + c.colors.messages.info.fg = palette["text"] + ## Foreground color a warning message. + c.colors.messages.warning.fg = palette["peach"] + # }}} + + # prompts {{{ + ## Background color for prompts. + c.colors.prompts.bg = palette["mantle"] + + # ## Border used around UI elements in prompts. + c.colors.prompts.border = "1px solid " + palette["overlay0"] + + ## Foreground color for prompts. + c.colors.prompts.fg = palette["text"] + + ## Background color for the selected item in filename prompts. + c.colors.prompts.selected.bg = palette["surface2"] + + ## Background color for the selected item in filename prompts. + c.colors.prompts.selected.fg = palette["rosewater"] + # }}} + + # statusbar {{{ + ## Background color of the statusbar. + c.colors.statusbar.normal.bg = palette["base"] + ## Background color of the statusbar in insert mode. + c.colors.statusbar.insert.bg = palette["crust"] + ## Background color of the statusbar in command mode. + c.colors.statusbar.command.bg = palette["base"] + ## Background color of the statusbar in caret mode. + c.colors.statusbar.caret.bg = palette["base"] + ## Background color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.bg = palette["base"] + + ## Background color of the progress bar. + c.colors.statusbar.progress.bg = palette["base"] + ## Background color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.bg = palette["base"] + + ## Foreground color of the statusbar. + c.colors.statusbar.normal.fg = palette["text"] + ## Foreground color of the statusbar in insert mode. + c.colors.statusbar.insert.fg = palette["rosewater"] + ## Foreground color of the statusbar in command mode. + c.colors.statusbar.command.fg = palette["text"] + ## Foreground color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.fg = palette["peach"] + ## Foreground color of the statusbar in caret mode. + c.colors.statusbar.caret.fg = palette["peach"] + ## Foreground color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.fg = palette["peach"] + + ## Foreground color of the URL in the statusbar on error. + c.colors.statusbar.url.error.fg = palette["red"] + + ## Default foreground color of the URL in the statusbar. + c.colors.statusbar.url.fg = palette["text"] + + ## Foreground color of the URL in the statusbar for hovered links. + c.colors.statusbar.url.hover.fg = palette["sky"] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.http.fg = palette["teal"] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.https.fg = palette["green"] + + ## Foreground color of the URL in the statusbar when there's a warning. + c.colors.statusbar.url.warn.fg = palette["yellow"] + + ## PRIVATE MODE COLORS + ## Background color of the statusbar in private browsing mode. + c.colors.statusbar.private.bg = palette["mantle"] + ## Foreground color of the statusbar in private browsing mode. + c.colors.statusbar.private.fg = palette["subtext1"] + ## Background color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.bg = palette["base"] + ## Foreground color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.fg = palette["subtext1"] + + # }}} + + # tabs {{{ + ## Background color of the tab bar. + c.colors.tabs.bar.bg = palette["crust"] + ## Background color of unselected even tabs. + c.colors.tabs.even.bg = palette["surface2"] + ## Background color of unselected odd tabs. + c.colors.tabs.odd.bg = palette["surface1"] + + ## Foreground color of unselected even tabs. + c.colors.tabs.even.fg = palette["overlay2"] + ## Foreground color of unselected odd tabs. + c.colors.tabs.odd.fg = palette["overlay2"] + + ## Color for the tab indicator on errors. + c.colors.tabs.indicator.error = palette["red"] + ## Color gradient interpolation system for the tab indicator. + ## Valid values: + ## - rgb: Interpolate in the RGB color system. + ## - hsv: Interpolate in the HSV color system. + ## - hsl: Interpolate in the HSL color system. + ## - none: Don't show a gradient. + c.colors.tabs.indicator.system = "none" + + # ## Background color of selected even tabs. + c.colors.tabs.selected.even.bg = palette["base"] + # ## Background color of selected odd tabs. + c.colors.tabs.selected.odd.bg = palette["base"] + + # ## Foreground color of selected even tabs. + c.colors.tabs.selected.even.fg = palette["text"] + # ## Foreground color of selected odd tabs. + c.colors.tabs.selected.odd.fg = palette["text"] + # }}} + + # context menus {{{ + c.colors.contextmenu.menu.bg = palette["base"] + c.colors.contextmenu.menu.fg = palette["text"] + + c.colors.contextmenu.disabled.bg = palette["mantle"] + c.colors.contextmenu.disabled.fg = palette["overlay0"] + + c.colors.contextmenu.selected.bg = palette["overlay0"] + c.colors.contextmenu.selected.fg = palette["rosewater"] + # }}} diff --git a/home/.config/qutebrowser/config.py b/home/.config/qutebrowser/config.py new file mode 100644 index 0000000..d942270 --- /dev/null +++ b/home/.config/qutebrowser/config.py @@ -0,0 +1,8 @@ +import catppuccin + +# load your autoconfig, use this if the rest of your config is empty! +config.load_autoconfig() + +# set the flavour you'd like to use +# valid options are 'mocha', 'macchiato', 'frappe', and 'latte' +catppuccin.setup(c, 'macchiato') \ No newline at end of file diff --git a/home/.config/qutebrowser/quickmarks b/home/.config/qutebrowser/quickmarks new file mode 100644 index 0000000..e69de29 diff --git a/home/.config/rofi/config.rasi b/home/.config/rofi/config.rasi new file mode 100644 index 0000000..7ca9933 --- /dev/null +++ b/home/.config/rofi/config.rasi @@ -0,0 +1,16 @@ +configuration{ + modi: "drun"; + icon-theme: "Numix-Circle"; + font: "JetBrains Mono Regular 13"; + show-icons: true; + terminal: "wezterm"; + drun-display-format: "{icon} {name}"; + location: 0; + disable-history: false; + hide-scrollbar: true; + display-drun: "  Apps "; + sidebar-mode: true; + border-radius: 10; +} + +@theme "~/.config/rofi/themes/catppuccin-macchiato.rasi" diff --git a/home/.config/rofi/themes/catppuccin-macchiato.rasi b/home/.config/rofi/themes/catppuccin-macchiato.rasi new file mode 100644 index 0000000..39ebba6 --- /dev/null +++ b/home/.config/rofi/themes/catppuccin-macchiato.rasi @@ -0,0 +1,112 @@ +* { + bg-col: #24273a; + bg-col-light: #24273a; + border-col: #24273a; + selected-col: #24273a; + blue: #8aadf4; + fg-col: #cad3f5; + fg-col2: #ed8796; + grey: #6e738d; + teal: #8bd5ca; + + width: 600; + border-radius: 15px; +} + +element-text, element-icon , mode-switcher { + background-color: inherit; + text-color: inherit; +} + +window { + height: 360px; + border: 2px; + border-color: @teal; + background-color: @bg-col; +} + +mainbox { + background-color: @bg-col; +} + +inputbar { + children: [prompt,entry]; + background-color: @bg-col; + border-radius: 5px; + padding: 2px; +} + +prompt { + background-color: @blue; + padding: 6px; + text-color: @bg-col; + border-radius: 3px; + margin: 20px 0px 0px 20px; +} + +textbox-prompt-colon { + expand: false; + str: ":"; +} + +entry { + padding: 6px; + margin: 20px 0px 0px 10px; + text-color: @fg-col; + background-color: @bg-col; +} + +listview { + border: 0px 0px 0px; + padding: 6px 0px 0px; + margin: 10px 0px 0px 20px; + columns: 2; + lines: 5; + background-color: @bg-col; +} + +element { + padding: 5px; + background-color: @bg-col; + text-color: @fg-col ; +} + +element-icon { + size: 25px; +} + +element selected { + background-color: @selected-col ; + text-color: @teal ; +} + +mode-switcher { + spacing: 0; + } + +button { + padding: 10px; + background-color: @bg-col-light; + text-color: @grey; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +button selected { + background-color: @bg-col; + text-color: @blue; +} + +message { + background-color: @bg-col-light; + margin: 2px; + padding: 2px; + border-radius: 5px; +} + +textbox { + padding: 6px; + margin: 20px 0px 0px 20px; + text-color: @blue; + background-color: @bg-col-light; +} diff --git a/home/.config/starship.toml b/home/.config/starship.toml new file mode 100644 index 0000000..f871774 --- /dev/null +++ b/home/.config/starship.toml @@ -0,0 +1,176 @@ +[aws] +format = '\[[$symbol($profile)(\($region\))(\[$duration\])]($style)\]' + +[bun] +format = '\[[$symbol($version)]($style)\]' + +[c] +format = '\[[$symbol($version(-$name))]($style)\]' + +[cmake] +format = '\[[$symbol($version)]($style)\]' + +[cmd_duration] +format = '\[[⏱ $duration]($style)\]' + +[cobol] +format = '\[[$symbol($version)]($style)\]' + +[conda] +format = '\[[$symbol$environment]($style)\]' + +[crystal] +format = '\[[$symbol($version)]($style)\]' + +[daml] +format = '\[[$symbol($version)]($style)\]' + +[dart] +format = '\[[$symbol($version)]($style)\]' + +[deno] +format = '\[[$symbol($version)]($style)\]' + +[docker_context] +format = '\[[$symbol$context]($style)\]' + +[dotnet] +format = '\[[$symbol($version)(🎯 $tfm)]($style)\]' + +[elixir] +format = '\[[$symbol($version \(OTP $otp_version\))]($style)\]' + +[elm] +format = '\[[$symbol($version)]($style)\]' + +[erlang] +format = '\[[$symbol($version)]($style)\]' + +[gcloud] +format = '\[[$symbol$account(@$domain)(\($region\))]($style)\]' + +[git_branch] +format = '\[[$symbol$branch]($style)\]' + +[git_status] +format = '([\[$all_status$ahead_behind\]]($style))' + +[golang] +format = '\[[$symbol($version)]($style)\]' + +[guix_shell] +format = '\[[$symbol]($style)\]' + +[haskell] +format = '\[[$symbol($version)]($style)\]' + +[haxe] +format = '\[[$symbol($version)]($style)\]' + +[helm] +format = '\[[$symbol($version)]($style)\]' + +[hg_branch] +format = '\[[$symbol$branch]($style)\]' + +[java] +format = '\[[$symbol($version)]($style)\]' + +[julia] +format = '\[[$symbol($version)]($style)\]' + +[kotlin] +format = '\[[$symbol($version)]($style)\]' + +[kubernetes] +format = '\[[$symbol$context( \($namespace\))]($style)\]' + +[lua] +format = '\[[$symbol($version)]($style)\]' + +[memory_usage] +format = '\[$symbol[$ram( | $swap)]($style)\]' + +[meson] +format = '\[[$symbol$project]($style)\]' + +[nim] +format = '\[[$symbol($version)]($style)\]' + +[nix_shell] +format = '\[[$symbol$state( \($name\))]($style)\]' + +[nodejs] +format = '\[[$symbol($version)]($style)\]' + +[ocaml] +format = '\[[$symbol($version)(\($switch_indicator$switch_name\))]($style)\]' + +[opa] +format = '\[[$symbol($version)]($style)\]' + +[openstack] +format = '\[[$symbol$cloud(\($project\))]($style)\]' + +[os] +format = '\[[$symbol]($style)\]' + +[package] +format = '\[[$symbol$version]($style)\]' + +[perl] +format = '\[[$symbol($version)]($style)\]' + +[php] +format = '\[[$symbol($version)]($style)\]' + +[pulumi] +format = '\[[$symbol$stack]($style)\]' + +[purescript] +format = '\[[$symbol($version)]($style)\]' + +[python] +format = '\[[${symbol}${pyenv_prefix}(${version})(\($virtualenv\))]($style)\]' + +[raku] +format = '\[[$symbol($version-$vm_version)]($style)\]' + +[red] +format = '\[[$symbol($version)]($style)\]' + +[ruby] +format = '\[[$symbol($version)]($style)\]' + +[rust] +format = '\[[$symbol($version)]($style)\]' + +[scala] +format = '\[[$symbol($version)]($style)\]' + +[spack] +format = '\[[$symbol$environment]($style)\]' + +[sudo] +format = '\[[as $symbol]\]' + +[swift] +format = '\[[$symbol($version)]($style)\]' + +[terraform] +format = '\[[$symbol$workspace]($style)\]' + +[time] +format = '\[[$time]($style)\]' + +[username] +format = '\[[$user]($style)\]' + +[vagrant] +format = '\[[$symbol($version)]($style)\]' + +[vlang] +format = '\[[$symbol($version)]($style)\]' + +[zig] +format = '\[[$symbol($version)]($style)\]' diff --git a/home/.config/swappy/config b/home/.config/swappy/config new file mode 100644 index 0000000..8697228 --- /dev/null +++ b/home/.config/swappy/config @@ -0,0 +1,10 @@ +[Default] +save_dir=$HOME/Pictures/Edits +save_filename_format=swappy-%Y%m%d-%H%M%S.png +show_panel=false +line_size=5 +text_size=20 +text_font=sans-serif +paint_mode=brush +early_exit=false +fill_shape=false diff --git a/home/.config/swayidle/config b/home/.config/swayidle/config new file mode 100644 index 0000000..edff6ec --- /dev/null +++ b/home/.config/swayidle/config @@ -0,0 +1,5 @@ +timeout 180 'brightnessctl -s && brightnessctl s 15%' resume 'brightnessctl -r' +timeout 300 'swaylock' +timeout 350 'brightnessctl s 0%' resume 'brightnessctl -r' +timeout 420 'systemctl suspend' +before-sleep 'swaylock' \ No newline at end of file diff --git a/home/.config/swaylock/config b/home/.config/swaylock/config new file mode 100644 index 0000000..5033250 --- /dev/null +++ b/home/.config/swaylock/config @@ -0,0 +1,34 @@ +ignore-empty-password +daemonize +indicator +clock +screenshots + +effect-blur=11x11 +effect-compose=1100,10;/home/xnm/.config/swaylock/rebecca.png +effect-compose=20,0;40%x100%;/home/xnm/.config/swaylock/lucy.png +font=JetBrains Mono +indicator-radius=80 +indicator-thickness=8 +timestr=%I:%M %p +datestr=%F + +inside-color=#181926 +ring-color=#8bd5ca +key-hl-color=#a6da95 +text-color=#cad3f5 +layout-text-color=#cad3f5 +layout-bg-color=#181926 +text-caps-lock-color=#cad3f5 + +inside-clear-color=#f4dbd6 +ring-clear-color=#f0c6c6 +text-clear-color=#1e2030 + +inside-ver-color=#91d7e3 +ring-ver-color=#7dc4e4 +text-ver-color=#1e2030 + +inside-wrong-color=#ee99a0 +ring-wrong-color=#ed8796 +text-wrong-color=#1e2030 diff --git a/home/.config/swaylock/lucy.png b/home/.config/swaylock/lucy.png new file mode 100644 index 0000000..3905fa0 Binary files /dev/null and b/home/.config/swaylock/lucy.png differ diff --git a/home/.config/swaylock/rebecca.png b/home/.config/swaylock/rebecca.png new file mode 100644 index 0000000..3d44486 Binary files /dev/null and b/home/.config/swaylock/rebecca.png differ diff --git a/home/.config/tealdeer/config.toml b/home/.config/tealdeer/config.toml new file mode 100644 index 0000000..4364a9e --- /dev/null +++ b/home/.config/tealdeer/config.toml @@ -0,0 +1,38 @@ +[style.description] +underline = false +bold = false +italic = false + +[style.command_name] +foreground = "cyan" +underline = false +bold = false +italic = false + +[style.example_text] +foreground = "green" +underline = false +bold = false +italic = false + +[style.example_code] +foreground = "cyan" +underline = false +bold = false +italic = false + +[style.example_variable] +foreground = "cyan" +underline = true +bold = false +italic = false + +[display] +compact = false +use_pager = false + +[updates] +auto_update = false +auto_update_interval_hours = 720 + +[directories] diff --git a/home/.config/topgrade.toml b/home/.config/topgrade.toml new file mode 100644 index 0000000..a81070e --- /dev/null +++ b/home/.config/topgrade.toml @@ -0,0 +1,118 @@ +[misc] +# Don't ask for confirmations +#assume_yes = true + +# Disable specific steps - same options as the command line flag +#disable = ["system", "emacs"] + +# Ignore failures for these steps +#ignore_failures = ["powershell"] + +# Run specific steps - same options as the command line flag +#only = ["system", "emacs"] + +# Do not ask to retry failed steps (default: false) +#no_retry = true + +# Run `sudo -v` to cache credentials at the start of the run; this avoids a +# blocking password prompt in the middle of a possibly-unattended run. +#pre_sudo = false + +# Run inside tmux +#run_in_tmux = true + +# List of remote machines with Topgrade installed on them +#remote_topgrades = ["toothless", "pi", "parnas"] + +# Arguments to pass SSH when upgrading remote systems +#ssh_arguments = "-o ConnectTimeout=2" + +# Path to Topgrade executable on remote machines +#remote_topgrade_path = ".cargo/bin/topgrade" + +# Arguments to pass tmux when pulling Repositories +#tmux_arguments = "-S /var/tmux.sock" + +# Do not set the terminal title +#set_title = false + +# Display the time in step titles +# display_time = true + +# Cleanup temporary or old files +#cleanup = true + +# Skip sending a notification at the end of a run +#skip_notify = true + +[git] +#max_concurrency = 5 +# Additional git repositories to pull +#repos = [ +# "~/src/*/", +# "~/.config/something" +#] + +# Don't pull the predefined git repos +#pull_predefined = false + +# Arguments to pass Git when pulling Repositories +#arguments = "--rebase --autostash" + +[composer] +#self_update = true + +# Commands to run before anything +[pre_commands] +#"Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" + +# Custom commands +[commands] +#"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter" + +[brew] +#greedy_cask = true +#autoremove = true + +[linux] +# Arch Package Manager to use. Allowed values: autodetect, trizen, aura, paru, yay, pikaur, pacman, pamac. +#arch_package_manager = "pacman" +# Arguments to pass yay (or paru) when updating packages +#yay_arguments = "--nodevel" +#aura_aur_arguments = "-kx" +#aura_pacman_arguments = "" +#show_arch_news = true +#trizen_arguments = "--devel" +#pikaur_arguments = "" +#pamac_arguments = "--no-devel" +#enable_tlmgr = true +#emerge_sync_flags = "-q" +#emerge_update_flags = "-uDNa --with-bdeps=y world" +#redhat_distro_sync = false +#rpm_ostree = false + +[windows] +# Manually select Windows updates +#accept_all_updates = false +#open_remotes_in_new_terminal = true + +# Causes Topgrade to rename itself during the run to allow package managers +# to upgrade it. Use this only if you installed Topgrade by using a package +# manager such as Scoop or Cargo +#self_rename = true + +[npm] +# Use sudo if the NPM directory isn't owned by the current user +#use_sudo = true + +[firmware] +# Offer to update firmware; if false just check for and display available updates +#upgrade = true + +[flatpak] +# Use sudo for updating the system-wide installation +#use_sudo = true + +[distrobox] +#use_root = false +#containers = ["archlinux-latest"] diff --git a/home/.config/user-dirs.dirs b/home/.config/user-dirs.dirs new file mode 100644 index 0000000..7f9a959 --- /dev/null +++ b/home/.config/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/Desktop" +XDG_DOWNLOAD_DIR="$HOME/Downloads" +XDG_TEMPLATES_DIR="$HOME/Templates" +XDG_PUBLICSHARE_DIR="$HOME/Public" +XDG_DOCUMENTS_DIR="$HOME/Documents" +XDG_MUSIC_DIR="$HOME/Music" +XDG_PICTURES_DIR="$HOME/Pictures" +XDG_VIDEOS_DIR="$HOME/Videos" diff --git a/home/.config/user-dirs.locale b/home/.config/user-dirs.locale new file mode 100644 index 0000000..3e0b419 --- /dev/null +++ b/home/.config/user-dirs.locale @@ -0,0 +1 @@ +en_US \ No newline at end of file diff --git a/home/.config/waybar/config b/home/.config/waybar/config new file mode 100644 index 0000000..e5171fa --- /dev/null +++ b/home/.config/waybar/config @@ -0,0 +1,422 @@ +// Double Bar Config +[ +// Top Bar Config +{ + // Main Config + "name": "top_bar", + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 36, // Waybar height (to be removed for auto height) + "spacing": 4, // Gaps between modules (4px) + "modules-left": ["hyprland/workspaces", "hyprland/submap"], + "modules-center": ["clock#time", "custom/separator", "clock#week", "custom/separator_dot", "clock#month", "custom/separator", "clock#calendar"], + "modules-right": [ "bluetooth", "network", "group/misc", "custom/logout_menu" ], + + // Modules Config + "hyprland/workspaces": { + "on-click": "activate", + "format": "{icon}", + "format-icons": { + "active": "", + "default": "" + }, + "persistent_workspaces": { + "*": 10, + }, + }, + + "hyprland/submap": { + "format": "Mode: {}", + "tooltip": false, + }, + + "clock#time": { + "format": "{:%I:%M %p %Ez}", + // "locale": "en_US.UTF-8", + // "timezones": [ "Europe/Kyiv", "America/New_York" ], + }, + + "custom/separator": { + "format": "|", + }, + + "custom/separator_dot": { + "format": "•", + }, + + "clock#week": { + "format": "{:%a}", + }, + + "clock#month": { + "format": "{:%h}", + }, + + "clock#calendar": { + "format": "{:%F}", + "tooltip-format": "{calendar}", + "actions": { + "on-click-right": "mode", + }, + "calendar": { + "mode" : "month", + "mode-mon-col" : 3, + "weeks-pos" : "right", + "on-scroll" : 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + }, + }, + + "clock": { + "format": "{:%I:%M %p %Ez | %a • %h | %F}", + "format-alt": "{:%I:%M %p}", + "tooltip-format": "{calendar}", + // "locale": "en_US.UTF-8", + // "timezones": [ "Europe/Kyiv", "America/New_York" ], + "actions": { + "on-click-right": "mode", + }, + "calendar": { + "mode" : "month", + "mode-mon-col" : 3, + "weeks-pos" : "right", + "on-scroll" : 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + }, + }, + + "custom/media": { + "format": "{icon}󰎈", + "restart-interval": 2, + "return-type": "json", + "format-icons": { + "Playing": "", + "Paused": "", + }, + "max-length": 35, + "exec": "fish -c fetch_music_player_data", + "on-click": "playerctl play-pause", + "on-click-right": "playerctl next", + "on-click-middle": "playerctl prev", + "on-scroll-up": "playerctl volume 0.05-", + "on-scroll-down": "playerctl volume 0.05+", + "smooth-scrolling-threshold": "0.1", + }, + + "bluetooth": { + "format": "󰂯", + "format-disabled": "󰂲", + "format-connected": "󰂱 {device_alias}", + "format-connected-battery": "󰂱 {device_alias} (󰥉 {device_battery_percentage}%)", + // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device + "tooltip-format": "{controller_alias}\t{controller_address} ({status})\n\n{num_connections} connected", + "tooltip-format-disabled": "bluetooth off", + "tooltip-format-connected": "{controller_alias}\t{controller_address} ({status})\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t({device_battery_percentage}%)", + "max-length": 35, + "on-click": "fish -c bluetooth_toggle", + "on-click-right": "blueman-manager", + }, + + "network": { + "format": "󰤭", + "format-wifi": "{icon}({signalStrength}%){essid}", + "format-icons": [ "󰤯", "󰤟", "󰤢", "󰤥", "󰤨" ], + "format-disconnected": "󰤫 Disconnected", + "tooltip-format": "wifi off", + "tooltip-format-wifi":"SSID: {essid}({signalStrength}%), {frequency} MHz\nInterface: {ifname}\nIP: {ipaddr}\nGW: {gwaddr}\n\n{bandwidthUpBits}\t{bandwidthDownBits}\t󰹹{bandwidthTotalBits}", + "tooltip-format-disconnected": "disconnected", + // "format-ethernet": "󰈀 {ipaddr}/{cidr}", + // "format-linked": "󰈀 {ifname} (No IP)", + // "tooltip-format-ethernet":"Interface: {ifname}\nIP: {ipaddr}\nGW: {gwaddr}\nNetmask: {netmask}\nCIDR: {cidr}\n\n{bandwidthUpBits}\t{bandwidthDownBits}\t󰹹{bandwidthTotalBits}", + "max-length": 35, + "on-click": "fish -c wifi_toggle", + "on-click-right": "wezterm start nmtui", + }, + + "group/misc": { + "orientation": "horizontal", + "modules": [ + "custom/recording", + "custom/geo", + "custom/media", + "custom/dunst", + "custom/night_mode", + "custom/airplane_mode", + "idle_inhibitor", + ], + }, + + "custom/recording": { + "interval": 1, + "exec-if": "pgrep wf-recorder", + "exec": "fish -c check_recording", + "return-type": "json", + }, + + "custom/geo": { + "interval": 1, + "exec-if": "pgrep geoclue", + "exec": "fish -c check_geo_module", + "return-type": "json", + }, + + "custom/airplane_mode": { + "return-type": "json", + "interval": 1, + "exec": "fish -c check_airplane_mode", + "on-click": "fish -c airplane_mode_toggle", + }, + + "custom/night_mode": { + "return-type": "json", + "interval": 1, + "exec": "fish -c check_night_mode", + "on-click": "fish -c night_mode_toggle", + }, + + "custom/dunst": { + "return-type": "json", + "exec": "fish -c dunst_pause", + "on-click": "dunstctl set-paused toggle", + "restart-interval": 1, + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "󰛐", + "deactivated": "󰛑" + }, + "tooltip-format-activated": "idle-inhibitor on", + "tooltip-format-deactivated": "idle-inhibitor off", + // "start-activated": true, + }, + + "custom/logout_menu": { + "return-type": "json", + "exec": "echo '{ \"text\":\"󰐥\", \"tooltip\": \"logout menu\" }'", + "interval": "once", + "on-click": "fish -c wlogout_uniqe", + }, + +}, + + +// Bottom Bar Config +{ + // Main Config + "name": "bottom_bar", + "layer": "top", // Waybar at top layer + "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 36, // Waybar height (to be removed for auto height) + "spacing": 4, // Gaps between modules (4px) + "modules-left": ["user"], + "modules-center": ["hyprland/window"], + "modules-right": ["keyboard-state", "hyprland/language"], + + // Modules Config + "hyprland/window": { + "format": "👼 {title} 😈", + "max-length": 50, + }, + + "hyprland/language": { + "format-en": "🇺🇸 ENG (US)", + "format-uk": "🇺🇦 UKR", + "format-ru": "🇷🇺 RUS", + "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next", + }, + + "keyboard-state": { + "capslock": true, + // "numlock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + "user": { + "format": "{user} (up {work_H} h {work_M} min )", + "icon": true, + }, +}, + + +// Left Bar Config +{ + // Main Config + "name": "left_bar", + "layer": "top", // Waybar at top layer + "position": "left", // Waybar position (top|bottom|left|right) + "spacing": 4, // Gaps between modules (4px) + "width": 75, + "margin-top": 10, + "margin-bottom": 10, + "modules-left": ["wlr/taskbar"], + "modules-center": ["cpu", "memory", "disk", "temperature", "battery", "backlight", "pulseaudio"], + "modules-right": ["tray"], + + // Modules Config + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 20, + "icon-theme": "Numix-Circle", + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-right": "close", + "on-click-middle": "fullscreen", + }, + + "tray":{ + "icon-size": 20, + "spacing": 2, + }, + + "cpu": { + "format": "󰻠{usage}%", + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "on-click": "wezterm start btop", + "on-click-right": "wezterm start btm", + }, + + "memory": { + "format": "{percentage}%", + "tooltip-format": "Main: ({used} GiB/{total} GiB)({percentage}%), available {avail} GiB\nSwap: ({swapUsed} GiB/{swapTotal} GiB)({swapPercentage}%), available {swapAvail} GiB", + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "on-click": "wezterm start btop", + "on-click-right": "wezterm start btm", + }, + + "disk": { + "format": "󰋊{percentage_used}%", + "tooltip-format": "({used}/{total})({percentage_used}%) in '{path}', available {free}({percentage_free}%)", + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "on-click": "wezterm start btop", + "on-click-right": "wezterm start btm", + }, + + "temperature": { + "tooltip": false, + "thermal-zone": 8, + "critical-threshold": 80, + "format": "{icon}{temperatureC}󰔄", + "format-critical": "🔥{icon}{temperatureC}󰔄", + "format-icons": [ "", "", "", "", "" ], + }, + + "battery": { + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "format": "{icon}{capacity}%", + "format-charging": "󱐋{icon}{capacity}%", + "format-plugged": "󰚥{icon}{capacity}%", + "format-time": "{H} h {M} min", + "format-icons": [ "󱃍", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹" ], + "tooltip-format": "{timeTo}", + }, + + "backlight": { + "format": "{icon}{percent}%", + "format-icons": [ + "󰌶", + "󱩎", + "󱩏", + "󱩐", + "󱩑", + "󱩒", + "󱩓", + "󱩔", + "󱩕", + "󱩖", + "󰛨", + ], + "tooltip": false, + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "reverse-scrolling": true, + "reverse-mouse-scrolling": true, + }, + + "pulseaudio": { + "states": { + "high": 90, + "upper-medium": 70, + "medium": 50, + "lower-medium": 30, + "low": 10, + }, + "tooltip-format": "{desc}", + "format": "{icon}{volume}%\n{format_source}", + "format-bluetooth": "󰂱{icon}{volume}%\n{format_source}", + "format-bluetooth-muted": "󰂱󰝟{volume}%\n{format_source}", + "format-muted": "󰝟{volume}%\n{format_source}", + "format-source": "󰍬{volume}%", + "format-source-muted": "󰍭{volume}%", + "format-icons": { + "headphone": "󰋋", + "hands-free": "", + "headset": "󰋎", + "phone": "󰄜", + "portable": "󰦧", + "car": "󰄋", + "speaker": "󰓃", + "hdmi": "󰡁", + "hifi": "󰋌", + "default": [ + "󰕿", + "󰖀", + "󰕾", + ], + }, + "reverse-scrolling": true, + "reverse-mouse-scrolling": true, + "on-click": "pavucontrol", + }, +}, +] \ No newline at end of file diff --git a/home/.config/waybar/macchiato.css b/home/.config/waybar/macchiato.css new file mode 100644 index 0000000..6880473 --- /dev/null +++ b/home/.config/waybar/macchiato.css @@ -0,0 +1,37 @@ +/* +* +* Catppuccin Macchiato palette +* Maintainer: rubyowo +* +*/ + +@define-color base #24273a; +@define-color mantle #1e2030; +@define-color crust #181926; + +@define-color text #cad3f5; +@define-color subtext0 #a5adcb; +@define-color subtext1 #b8c0e0; + +@define-color surface0 #363a4f; +@define-color surface1 #494d64; +@define-color surface2 #5b6078; + +@define-color overlay0 #6e738d; +@define-color overlay1 #8087a2; +@define-color overlay2 #939ab7; + +@define-color blue #8aadf4; +@define-color lavender #b7bdf8; +@define-color sapphire #7dc4e4; +@define-color sky #91d7e3; +@define-color teal #8bd5ca; +@define-color green #a6da95; +@define-color yellow #eed49f; +@define-color peach #f5a97f; +@define-color maroon #ee99a0; +@define-color red #ed8796; +@define-color mauve #c6a0f6; +@define-color pink #f5bde6; +@define-color flamingo #f0c6c6; +@define-color rosewater #f4dbd6; diff --git a/home/.config/waybar/style.css b/home/.config/waybar/style.css new file mode 100644 index 0000000..2bd61fc --- /dev/null +++ b/home/.config/waybar/style.css @@ -0,0 +1,421 @@ +@import "macchiato.css"; + +* { + border: none; +} + +window.bottom_bar#waybar { + background-color: alpha(@base, 0.7); + border-top: solid alpha(@surface1, 0.7) 2; +} + +window.top_bar#waybar { + background-color: alpha(@base, 0.7); + border-bottom: solid alpha(@surface1, 0.7) 2; +} + +window.left_bar#waybar { + background-color: alpha(@base, 0.7); + border-top: solid alpha(@surface1, 0.7) 2; + border-right: solid alpha(@surface1, 0.7) 2; + border-bottom: solid alpha(@surface1, 0.7) 2; + border-radius: 0 15 15 0; +} + +window.bottom_bar .modules-center { + background-color: alpha(@surface1, 0.7); + color: @green; + border-radius: 15; + padding-left: 20; + padding-right: 20; + margin-top: 5; + margin-bottom: 5; +} + +window.bottom_bar .modules-left { + background-color: alpha(@surface1, 0.7); + border-radius: 0 15 15 0; + padding-left: 20; + padding-right: 20; + margin-top: 5; + margin-bottom: 5; +} + +window.bottom_bar .modules-right { + background-color: alpha(@surface1, 0.7); + border-radius: 15 0 0 15; + padding-left: 20; + padding-right: 20; + margin-top: 5; + margin-bottom: 5; +} + +#user { + padding-left: 10; +} + +#language { + padding-left: 15; +} + +#keyboard-state label.locked { + color: @yellow; +} + +#keyboard-state label { + color: @subtext0; +} + +#workspaces { + margin-left: 10; +} + +#workspaces button.active { + color: @maroon; +} + +#workspaces button { + color: @text; +} + +#submap { + background-color: alpha(@surface1, 0.7); + border-radius: 15; + padding-left: 15; + padding-right: 15; + margin-left: 20; + margin-right: 20; + margin-top: 5; + margin-bottom: 5; +} + +window.top_bar .modules-center { + font-weight: bold; + background-color: alpha(@surface1, 0.7); + color: @peach; + border-radius: 15; + padding-left: 20; + padding-right: 20; + margin-top: 5; + margin-bottom: 5; +} + +#custom-separator { + color: @green; +} + +#custom-separator_dot { + color: @green; +} + +#clock.time { + color: @flamingo; +} + +#clock.week { + color: @sapphire; +} + +#clock.month { + color: @sapphire; +} + +#clock.calendar { + color: @mauve; +} + +#bluetooth { + background-color: alpha(@surface1, 0.7); + border-radius: 15; + padding-left: 15; + padding-right: 15; + margin-top: 5; + margin-bottom: 5; +} + +#bluetooth.disabled { + background-color: alpha(@surface0, 0.7); + color: @subtext0; +} + +#bluetooth.on { + color: @blue; +} + +#bluetooth.connected { + color: @sapphire; +} + +#network { + background-color: alpha(@surface1, 0.7); + border-radius: 15; + padding-left: 15; + padding-right: 15; + margin-left: 2; + margin-right: 2; + margin-top: 5; + margin-bottom: 5; +} + +#network.disabled { + background-color: alpha(@surface0, 0.7); + color: @subtext0; +} + +#network.disconnected { + color: @red; +} + +#network.wifi { + color: @teal; +} + +#idle_inhibitor { + margin-right: 2; +} + +#idle_inhibitor.deactivated { + color: @subtext0; +} + +#custom-dunst.off { + color: @subtext0; +} + +#custom-airplane_mode { + margin-right: 2; +} + +#custom-airplane_mode.off { + color: @subtext0; +} + +#custom-night_mode { + margin-right: 2; +} + +#custom-night_mode.off { + color: @subtext0; +} + +#custom-dunst { + margin-right: 2; +} + +#custom-media {} + +#custom-media.Paused { + color: @subtext0; +} + +#custom-recording { + color: @red; + margin-right: 4; +} + +#custom-geo { + color: @yellow; + margin-right: 4; +} + +#custom-logout_menu { + color: @red; + background-color: alpha(@surface1, 0.7); + border-radius: 15 0 0 15; + padding-left: 10; + padding-right: 5; + margin-top: 5; + margin-bottom: 5; +} + +window.left_bar .modules-center { + background-color: alpha(@surface1, 0.7); + border-radius: 0 15 15 0; + margin-right: 5; + margin-top: 15; + margin-bottom: 15; + padding-top: 5; + padding-bottom: 5; +} + +#taskbar { + margin-top: 10; + margin-right: 10; + margin-left: 10; +} + +#taskbar button.active { + background-color: alpha(@surface1, 0.7); + border-radius: 10; +} + +#tray { + margin-bottom: 10; + margin-right: 10; + margin-left: 10; +} + +#tray>.needs-attention { + background-color: alpha(@maroon, 0.7); + border-radius: 10; +} + +#cpu { + color: @sapphire; +} + +#cpu.low { + color: @rosewater; +} + +#cpu.lower-medium { + color: @yellow; +} + +#cpu.medium { + color: @peach; +} + +#cpu.upper-medium { + color: @maroon; +} + +#cpu.high { + color: @red; +} + +#memory { + color: @sapphire; +} + +#memory.low { + color: @rosewater; +} + +#memory.lower-medium { + color: @yellow; +} + +#memory.medium { + color: @peach; +} + +#memory.upper-medium { + color: @maroon; +} + +#memory.high { + color: @red; +} + +#disk { + color: @sapphire; +} + +#disk.low { + color: @rosewater; +} + +#disk.lower-medium { + color: @yellow; +} + +#disk.medium { + color: @peach; +} + +#disk.upper-medium { + color: @maroon; +} + +#disk.high { + color: @red; +} + +#temperature { + color: @green; +} + +#temperature.critical { + color: @red; +} + +#battery { + color: @teal; +} + +#battery.low { + color: @red; +} + +#battery.lower-medium { + color: @maroon; +} + +#battery.medium { + color: @peach; +} + +#battery.upper-medium { + color: @flamingo; +} + +#battery.high { + color: @rosewater; +} + +#backlight { + color: @overlay0; +} + +#backlight.low { + color: @overlay1; +} + +#backlight.lower-medium { + color: @overlay2; +} + +#backlight.medium { + color: @subtext0; +} + +#backlight.upper-medium { + color: @subtext1; +} + +#backlight.high { + color: @text; +} + +#pulseaudio.bluetooth { + color: @sapphire; +} + +#pulseaudio.muted { + color: @surface2; +} + +#pulseaudio { + color: @text; +} + +#pulseaudio.low { + color: @overlay0; +} + +#pulseaudio.lower-medium { + color: @overlay1; +} + +#pulseaudio.medium { + color: @overlay2; +} + +#pulseaudio.upper-medium { + color: @subtext0; +} + +#pulseaudio.high { + color: @subtext1; +} \ No newline at end of file diff --git a/home/.config/wezterm/lain.gif b/home/.config/wezterm/lain.gif new file mode 100644 index 0000000..6858931 Binary files /dev/null and b/home/.config/wezterm/lain.gif differ diff --git a/home/.config/wezterm/lain.png b/home/.config/wezterm/lain.png new file mode 100644 index 0000000..0173ebe Binary files /dev/null and b/home/.config/wezterm/lain.png differ diff --git a/home/.config/wezterm/wezterm.lua b/home/.config/wezterm/wezterm.lua new file mode 100644 index 0000000..c355909 --- /dev/null +++ b/home/.config/wezterm/wezterm.lua @@ -0,0 +1,156 @@ +local wezterm = require 'wezterm' +local act = wezterm.action + +return { + color_scheme = 'Catppuccin Macchiato', + enable_tab_bar = false, + inactive_pane_hsb = { + saturation = 0.9, + brightness = 0.7, + }, + -- enable_scroll_bar = true, + background = { + { + source = { + Color="#24273a" + }, + height = "100%", + width = "100%", + }, + { + source = { + File = '/home/xnm/.config/wezterm/lain.gif', + }, + opacity = 0.05, + vertical_align = "Middle", + horizontal_align = "Center", + height = "1424", + width = "2024", + repeat_y = "NoRepeat", + repeat_x = "NoRepeat", + }, + }, + launch_menu = { + { + args = { 'btop' }, + }, + { + args = { 'cmatrix' }, + }, + { + args = { 'pipes-rs' }, + }, + }, + keys = { + { + key = 'j', + mods = 'CTRL|SHIFT', + action = act.ScrollByPage(1) + }, + { + key = 'k', + mods = 'CTRL|SHIFT', + action = act.ScrollByPage(-1) + }, + { + key = 'g', + mods = 'CTRL|SHIFT', + action = act.ScrollToTop + }, + { + key = 'e', + mods = 'CTRL|SHIFT', + action = act.ScrollToBottom + }, + { + key = 'p', + mods = 'CTRL|SHIFT|SUPER', + action = act.PaneSelect + }, + { + key = 'o', + mods = 'CTRL|SHIFT|SUPER', + action = act.PaneSelect { mode = "SwapWithActive" } + }, + { + key = '%', + mods = 'CTRL|SHIFT|SUPER', + action = act.SplitVertical { domain = 'CurrentPaneDomain' } + }, + { + key = '"', + mods = 'CTRL|SHIFT|SUPER', + action = act.SplitHorizontal { domain = 'CurrentPaneDomain' } + }, + { + key = 'LeftArrow', + mods = 'CTRL|SHIFT|SUPER', + action = act.AdjustPaneSize { 'Left', 1 } + }, + { + key = 'RightArrow', + mods = 'CTRL|SHIFT|SUPER', + action = act.AdjustPaneSize { 'Right', 1 } + }, + { + key = 'UpArrow', + mods = 'CTRL|SHIFT|SUPER', + action = act.AdjustPaneSize { 'Up', 1 } + }, + { + key = 'DownArrow', + mods = 'CTRL|SHIFT|SUPER', + action = act.AdjustPaneSize { 'Down', 1 } + }, + { + key = 'h', + mods = 'CTRL|SHIFT|SUPER', + action = act.ActivatePaneDirection 'Left' + }, + { + key = 'l', + mods = 'CTRL|SHIFT|SUPER', + action = act.ActivatePaneDirection 'Right' + }, + { + key = 'k', + mods = 'CTRL|SHIFT|SUPER', + action = act.ActivatePaneDirection 'Up' + }, + { + key = 'j', + mods = 'CTRL|SHIFT|SUPER', + action = act.ActivatePaneDirection 'Down' + }, + { + key = 'z', + mods = 'CTRL|SHIFT|SUPER', + action = act.TogglePaneZoomState + }, + { + key = 'q', + mods = 'CTRL|SHIFT|SUPER', + action = act.CloseCurrentPane { confirm = true } + }, + { + key = 'b', + mods = 'CTRL|SHIFT|SUPER', + action = act.RotatePanes 'CounterClockwise' + }, + { + key = 'n', + mods = 'CTRL|SHIFT|SUPER', + action = act.RotatePanes 'Clockwise' + }, + { + key = 'd', + mods = 'CTRL|SHIFT', + action = act.ShowLauncher + }, + { + key = ':', + mods = 'CTRL|SHIFT', + action = act.ClearSelection + }, + }, +} \ No newline at end of file diff --git a/home/.config/wlogout/icons/hibernate.png b/home/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..1aa6730 Binary files /dev/null and b/home/.config/wlogout/icons/hibernate.png differ diff --git a/home/.config/wlogout/icons/lock.png b/home/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..2fdf2de Binary files /dev/null and b/home/.config/wlogout/icons/lock.png differ diff --git a/home/.config/wlogout/icons/logout.png b/home/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..c398d22 Binary files /dev/null and b/home/.config/wlogout/icons/logout.png differ diff --git a/home/.config/wlogout/icons/reboot.png b/home/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..6db3aaa Binary files /dev/null and b/home/.config/wlogout/icons/reboot.png differ diff --git a/home/.config/wlogout/icons/shutdown.png b/home/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..3025cd0 Binary files /dev/null and b/home/.config/wlogout/icons/shutdown.png differ diff --git a/home/.config/wlogout/icons/suspend.png b/home/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..124a58e Binary files /dev/null and b/home/.config/wlogout/icons/suspend.png differ diff --git a/home/.config/wlogout/layout b/home/.config/wlogout/layout new file mode 100644 index 0000000..6841651 --- /dev/null +++ b/home/.config/wlogout/layout @@ -0,0 +1,36 @@ +{ + "label" : "lock", + "action" : "swaylock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "hibernate", + "action" : "systemctl hibernate", + "text" : "Hibernate", + "keybind" : "h" +} +{ + "label" : "logout", + "action" : "loginctl terminate-user $USER", + "text" : "Logout", + "keybind" : "e" +} +{ + "label" : "shutdown", + "action" : "systemctl poweroff", + "text" : "Shutdown", + "keybind" : "s" +} +{ + "label" : "suspend", + "action" : "systemctl suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "systemctl reboot", + "text" : "Reboot", + "keybind" : "r" +} \ No newline at end of file diff --git a/home/.config/wlogout/style.css b/home/.config/wlogout/style.css new file mode 100644 index 0000000..504176d --- /dev/null +++ b/home/.config/wlogout/style.css @@ -0,0 +1,50 @@ +* { + background-image: none; +} + +window { + background-color: rgba(36, 39, 58, 0.9); +} + +button { + margin: 8px; + color: #cad3f5; + background-color: #363a4f; + border-style: solid; + border-width: 2px; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; +} + +button:active, +button:focus, +button:hover { + color: #8bd5ca; + background-color: #24273a; + outline-style: none; +} + +#lock { + background-image: image(url("icons/lock.png")); +} + +#logout { + background-image: image(url("icons/logout.png")); +} + +#suspend { + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + background-image: image(url("icons/reboot.png")); +} \ No newline at end of file diff --git a/home/.config/wpaperd/output.conf b/home/.config/wpaperd/output.conf new file mode 100644 index 0000000..574aef5 --- /dev/null +++ b/home/.config/wpaperd/output.conf @@ -0,0 +1,4 @@ +[default] +path = "~/Pictures/Wallpapers/" +duration = "30m" +# apply-shadow = true \ No newline at end of file diff --git a/home/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/home/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml new file mode 100644 index 0000000..b6efa0f --- /dev/null +++ b/home/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/home/.config/xsettingsd/xsettingsd.conf b/home/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..bf60200 --- /dev/null +++ b/home/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,13 @@ +Net/ThemeName "Catppuccin-Macchiato-Standard-Teal-dark" +Net/IconThemeName "Colloid-teal-dark" +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "none" +Xft/DPI 98304 +Gtk/CursorThemeName "Catppuccin-Macchiato-Teal-Cursors" +Gtk/FontName "JetBrains Mono 11" +Gtk/KeyThemeName "Default" +Gtk/OverlayScrolling 1 +Gtk/MenuImages 0 +Gtk/ButtonImages 0 diff --git a/home/.config/zathura/catppuccin-macchiato b/home/.config/zathura/catppuccin-macchiato new file mode 100644 index 0000000..4e447da --- /dev/null +++ b/home/.config/zathura/catppuccin-macchiato @@ -0,0 +1,37 @@ +set default-fg "#CAD3F5" +set default-bg "#24273A" + +set completion-bg "#363A4F" +set completion-fg "#CAD3F5" +set completion-highlight-bg "#575268" +set completion-highlight-fg "#CAD3F5" +set completion-group-bg "#363A4F" +set completion-group-fg "#8AADF4" + +set statusbar-fg "#CAD3F5" +set statusbar-bg "#363A4F" + +set notification-bg "#363A4F" +set notification-fg "#CAD3F5" +set notification-error-bg "#363A4F" +set notification-error-fg "#ED8796" +set notification-warning-bg "#363A4F" +set notification-warning-fg "#FAE3B0" + +set inputbar-fg "#CAD3F5" +set inputbar-bg "#363A4F" + +set recolor-lightcolor "#24273A" +set recolor-darkcolor "#CAD3F5" + +set index-fg "#CAD3F5" +set index-bg "#24273A" +set index-active-fg "#CAD3F5" +set index-active-bg "#363A4F" + +set render-loading-bg "#24273A" +set render-loading-fg "#CAD3F5" + +set highlight-color "#575268" +set highlight-fg "#F5BDE6" +set highlight-active-color "#F5BDE6" diff --git a/home/.config/zathura/zathurarc b/home/.config/zathura/zathurarc new file mode 100644 index 0000000..24e1c3d --- /dev/null +++ b/home/.config/zathura/zathurarc @@ -0,0 +1 @@ +include catppuccin-macchiato \ No newline at end of file diff --git a/home/.config/zellij/config.kdl b/home/.config/zellij/config.kdl new file mode 100644 index 0000000..815cacc --- /dev/null +++ b/home/.config/zellij/config.kdl @@ -0,0 +1,299 @@ +// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" +keybinds { + normal { + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + locked { + bind "Ctrl g" { SwitchToMode "Normal"; } + } + resize { + bind "Ctrl n" { SwitchToMode "Normal"; } + bind "h" "Left" { Resize "Increase Left"; } + bind "j" "Down" { Resize "Increase Down"; } + bind "k" "Up" { Resize "Increase Up"; } + bind "l" "Right" { Resize "Increase Right"; } + bind "H" { Resize "Decrease Left"; } + bind "J" { Resize "Decrease Down"; } + bind "K" { Resize "Decrease Up"; } + bind "L" { Resize "Decrease Right"; } + bind "=" "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + } + pane { + bind "Ctrl p" { SwitchToMode "Normal"; } + bind "h" "Left" { MoveFocus "Left"; } + bind "l" "Right" { MoveFocus "Right"; } + bind "j" "Down" { MoveFocus "Down"; } + bind "k" "Up" { MoveFocus "Up"; } + bind "p" { SwitchFocus; } + bind "n" { NewPane; SwitchToMode "Normal"; } + bind "d" { NewPane "Down"; SwitchToMode "Normal"; } + bind "r" { NewPane "Right"; SwitchToMode "Normal"; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } + bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + } + move { + bind "Ctrl h" { SwitchToMode "Normal"; } + bind "n" "Tab" { MovePane; } + bind "h" "Left" { MovePane "Left"; } + bind "j" "Down" { MovePane "Down"; } + bind "k" "Up" { MovePane "Up"; } + bind "l" "Right" { MovePane "Right"; } + } + tab { + bind "Ctrl t" { SwitchToMode "Normal"; } + bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } + bind "h" "Left" "Up" "k" { GoToPreviousTab; } + bind "l" "Right" "Down" "j" { GoToNextTab; } + bind "n" { NewTab; SwitchToMode "Normal"; } + bind "x" { CloseTab; SwitchToMode "Normal"; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + bind "Tab" { ToggleTab; } + } + scroll { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "e" { EditScrollback; SwitchToMode "Normal"; } + bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + search { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + bind "n" { Search "down"; } + bind "p" { Search "up"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "w" { SearchToggleOption "Wrap"; } + bind "o" { SearchToggleOption "WholeWord"; } + } + entersearch { + bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } + bind "Enter" { SwitchToMode "Search"; } + } + renametab { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } + } + renamepane { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } + } + session { + bind "Ctrl o" { SwitchToMode "Normal"; } + bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "d" { Detach; } + } + tmux { + bind "[" { SwitchToMode "Scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } + bind "%" { NewPane "Right"; SwitchToMode "Normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "c" { NewTab; SwitchToMode "Normal"; } + bind "," { SwitchToMode "RenameTab"; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "o" { FocusNextPane; } + bind "d" { Detach; } + } + shared_except "locked" { + bind "Ctrl g" { SwitchToMode "Locked"; } + bind "Ctrl q" { Quit; } + bind "Alt n" { NewPane; } + bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } + bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } + bind "Alt j" "Alt Down" { MoveFocus "Down"; } + bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt =" "Alt +" { Resize "Increase"; } + bind "Alt -" { Resize "Decrease"; } + } + shared_except "normal" "locked" { + bind "Enter" "Esc" { SwitchToMode "Normal"; } + } + shared_except "pane" "locked" { + bind "Ctrl p" { SwitchToMode "Pane"; } + } + shared_except "resize" "locked" { + bind "Ctrl n" { SwitchToMode "Resize"; } + } + shared_except "scroll" "locked" { + bind "Ctrl s" { SwitchToMode "Scroll"; } + } + shared_except "session" "locked" { + bind "Ctrl o" { SwitchToMode "Session"; } + } + shared_except "tab" "locked" { + bind "Ctrl t" { SwitchToMode "Tab"; } + } + shared_except "move" "locked" { + bind "Ctrl h" { SwitchToMode "Move"; } + } + shared_except "tmux" "locked" { + bind "Ctrl b" { SwitchToMode "Tmux"; } + } +} + +plugins { + tab-bar { path "tab-bar"; } + status-bar { path "status-bar"; } + strider { path "strider"; } + compact-bar { path "compact-bar"; } +} + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// Options: +// - detach (Default) +// - quit +// +// on_force_close "quit" + +// Send a request for a simplified ui (without arrow fonts) to plugins +// Options: +// - true +// - false (Default) +// +// simplified_ui true + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Toggle between having pane frames around the panes +// Options: +// - true (default) +// - false +// +// pane_frames true + +// Define color themes for Zellij +// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes +// Once these themes are defined, one of them should to be selected in the "theme" section of this file +// +// themes { +// dracula { +// fg 248 248 242 +// bg 40 42 54 +// red 255 85 85 +// green 80 250 123 +// yellow 241 250 140 +// blue 98 114 164 +// magenta 255 121 198 +// orange 255 184 108 +// cyan 139 233 253 +// black 0 0 0 +// white 255 255 255 +// } +// } + +// Choose the theme that is specified in the themes section. +// Default: default +// +theme "catppuccin-macchiato" + +// The name of the default layout to load on startup +// Default: "default" +// +// default_layout "compact" + +// Choose the mode that zellij uses when starting up. +// Default: normal +// +// default_mode "locked" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// Valid values: positive integers +// Default value: 10000 +// +// scroll_buffer_size 10000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +// copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +// copy_clipboard "primary" + +// Enable or disable automatic copy (and clear) of selection when releasing mouse +// Default: true +// +// copy_on_select false + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// +// scrollback_editor "/usr/bin/vim" + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// Default: false +// +// mirror_session true + +// The folder in which Zellij will look for layouts +// +// layout_dir "/path/to/my/layout_dir" + +// The folder in which Zellij will look for themes +// +// theme_dir "/path/to/my/theme_dir" diff --git a/home/.config/zellij/themes/catppuccin.kdl b/home/.config/zellij/themes/catppuccin.kdl new file mode 100644 index 0000000..7e2ce47 --- /dev/null +++ b/home/.config/zellij/themes/catppuccin.kdl @@ -0,0 +1,54 @@ +themes { + catppuccin-frappe { + fg 198 208 245 + bg 98 104 128 + black 41 44 60 + red 231 130 132 + green 166 209 137 + yellow 229 200 144 + blue 140 170 238 + magenta 244 184 228 + cyan 153 209 219 + white 198 208 245 + orange 239 159 118 + } + catppuccin-latte { + fg 172 176 190 + bg 172 176 190 + black 76 79 105 + red 210 15 57 + green 64 160 43 + yellow 223 142 29 + blue 30 102 245 + magenta 234 118 203 + cyan 4 165 229 + white 220 224 232 + orange 254 100 11 + } + catppuccin-macchiato { + fg 202 211 245 + bg 91 96 120 + black 30 32 48 + red 237 135 150 + green 166 218 149 + yellow 238 212 159 + blue 138 173 244 + magenta 245 189 230 + cyan 145 215 227 + white 202 211 245 + orange 245 169 127 + } + catppuccin-mocha { + fg 205 214 244 + bg 88 91 112 + black 24 24 37 + red 243 139 168 + green 166 227 161 + yellow 249 226 175 + blue 137 180 250 + magenta 245 194 231 + cyan 137 220 235 + white 205 214 244 + orange 250 179 135 + } +} diff --git a/home/.face b/home/.face new file mode 100644 index 0000000..049269e Binary files /dev/null and b/home/.face differ diff --git a/home/.gitconfig b/home/.gitconfig new file mode 100644 index 0000000..4cb51e0 --- /dev/null +++ b/home/.gitconfig @@ -0,0 +1,9 @@ +[user] + email = artem.shv@proton.me + name = XNM +[credential "https://github.com"] + helper = + helper = !/run/current-system/sw/bin/gh auth git-credential +[credential "https://gist.github.com"] + helper = + helper = !/run/current-system/sw/bin/gh auth git-credential diff --git a/home/.gtkrc-2.0 b/home/.gtkrc-2.0 new file mode 100644 index 0000000..94d4761 --- /dev/null +++ b/home/.gtkrc-2.0 @@ -0,0 +1,12 @@ +gtk-theme-name="Catppuccin-Macchiato-Standard-Teal-dark" +gtk-icon-theme-name="Colloid-teal-dark" +gtk-cursor-theme-name="Catppuccin-Macchiato-Teal-Cursors" +gtk-font-name="JetBrains Mono 11" +gtk-menu-images=0 +gtk-cursor-theme-size=24 +gtk-button-images=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="none" +gtk-xft-dpi=98304 diff --git a/home/.icons/default/index.theme b/home/.icons/default/index.theme new file mode 100644 index 0000000..97d8bc1 --- /dev/null +++ b/home/.icons/default/index.theme @@ -0,0 +1,4 @@ +[Icon Theme] +Name=Default +Comment=Default icon theme +Inherits=Catppuccin-Macchiato-Teal-Cursors diff --git a/home/.nix-channels b/home/.nix-channels new file mode 100644 index 0000000..9530612 --- /dev/null +++ b/home/.nix-channels @@ -0,0 +1 @@ +https://nixos.org/channels/nixos-unstable nixos diff --git a/home/.tg-wallpapers/landscape.png b/home/.tg-wallpapers/landscape.png new file mode 100644 index 0000000..dd73628 Binary files /dev/null and b/home/.tg-wallpapers/landscape.png differ diff --git a/home/Pictures/Records/record.gif b/home/Pictures/Records/record.gif new file mode 100644 index 0000000..a6680e8 Binary files /dev/null and b/home/Pictures/Records/record.gif differ diff --git a/home/Pictures/Screenshots/screenshot-1.png b/home/Pictures/Screenshots/screenshot-1.png new file mode 100644 index 0000000..d9a8f2b Binary files /dev/null and b/home/Pictures/Screenshots/screenshot-1.png differ diff --git a/home/Pictures/Screenshots/screenshot-2.png b/home/Pictures/Screenshots/screenshot-2.png new file mode 100644 index 0000000..7228483 Binary files /dev/null and b/home/Pictures/Screenshots/screenshot-2.png differ diff --git a/home/Pictures/Wallpapers/wallpaper_girl_1.png b/home/Pictures/Wallpapers/wallpaper_girl_1.png new file mode 100644 index 0000000..9f317f4 Binary files /dev/null and b/home/Pictures/Wallpapers/wallpaper_girl_1.png differ diff --git a/home/Videos/Records/record.mp4 b/home/Videos/Records/record.mp4 new file mode 100644 index 0000000..3f81cdc Binary files /dev/null and b/home/Videos/Records/record.mp4 differ diff --git a/nixos/configuration.nix b/nixos/configuration.nix new file mode 100644 index 0000000..acff053 --- /dev/null +++ b/nixos/configuration.nix @@ -0,0 +1,601 @@ +# Edit trueconfiguration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ pkgs, lib, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.efi.efiSysMountPoint = "/boot/efi"; + boot.loader.timeout = 2; + boot.initrd.enable = true; + boot.initrd.systemd.enable = true; + boot.kernelParams = [ "quiet" "fbcon=nodefer" "vt.global_cursor_default=0" "kernel.modules_disabled=1" "lsm=landlock,lockdown,yama,integrity,apparmor,bpf" "usbcore.autosuspend=-1" "video4linux" "acpi_rev_override=5" ]; + boot.plymouth = { + enable = true; + # logo = pkgs.fetchurl { + # url = "https://pluspng.com/img-png/black-lagoon-png-revy-1-png-1594-1080-anime-boysdjblack-lagoon-1594.png"; + # sha256 = "e0CZmXTVIJv6BDXXYksTsncl9t/QGkYC/BavNy4fcnQ="; + # }; + font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf"; + themePackages = [ pkgs.catppuccin-plymouth ]; + theme = "catppuccin-macchiato"; + }; + + # Setup keyfile + boot.initrd.secrets = { + "/crypto_keyfile.bin" = null; + }; + + # FIXME: Enable swap on luks + zramSwap.enable = true; + + # Enable Display Manager + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland"; + user = "greeter"; + }; + }; + }; + + # # Enable Hyprland + programs.hyprland.enable = true; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; + + # services.xserver.enable = true; + # services.xserver.displayManager.lightdm.enable = true; + # services.xserver.displayManager.lightdm.greeters.enso.enable = true; + # services.xserver.displayManager.lightdm.greeters.enso.theme.name = "Catppuccin-Teal-Dark"; + # services.xserver.displayManager.lightdm.greeters.enso.iconTheme.name = "Colloid-teal-dark"; + # services.xserver.displayManager.lightdm.greeters.enso.cursorTheme.name = "Catppuccin-Macchiato-Teal-Cursors"; + # services.xserver.displayManager.lightdm.background = "$HOME/.config/wezterm/lain.png"; + + # Enable Gnome + # services.xserver.enable = true; + # services.xserver.displayManager.gdm.enable = true; + # services.xserver.desktopManager.gnome.enable = true; + + # Gnome Exclude Packages + # environment.gnome.excludePackages = (with pkgs; [ + # gnome-tour + # ]) ++ (with pkgs.gnome; [ + # gnome-terminal + # gedit # text editor + # epiphany # web browser + # geary # email reader + # tali # poker game + # iagno # go game + # hitori # sudoku game + # atomix # puzzle game + # ]); + + # Enable fingerprint scanner + # services.fprintd = { + # enable = true; + # tod.enable = true; + # tod.driver = pkgs.libfprint-2-tod1-goodix-550a; + # }; + + # Enable Theme + environment.variables.GTK_THEME = "Catppuccin-Macchiato-Standard-Teal-dark"; + environment.variables.XCURSOR_THEME = "Catppuccin-Macchiato-Teal-Cursors"; + environment.variables.XCURSOR_SIZE = "24"; + console = { + earlySetup = true; + colors = [ + "24273a" + "ed8796" + "a6da95" + "eed49f" + "8aadf4" + "f5bde6" + "8bd5ca" + "cad3f5" + "5b6078" + "ed8796" + "a6da95" + "eed49f" + "8aadf4" + "f5bde6" + "8bd5ca" + "a5adcb" + ]; + }; + + # Setup Env Variables + environment.variables.SPOTIFY_PATH = "${pkgs.spotify}/"; + environment.variables.JDK_PATH = "${pkgs.jdk11}/"; + environment.variables.NODEJS_PATH = "${pkgs.nodejs_20}/"; + + environment.variables.CI = "1"; + # environment.variables.CLIPBOARD_EDITOR = "hx"; + environment.variables.CLIPBOARD_NOAUDIO = "1"; + # environment.variables.CLIPBOARD_NOGUI = "1"; + # environment.variables.CLIPBOARD_NOPROGRESS = "1"; + # environment.variables.CLIPBOARD_NOREMOTE = "1"; + environment.variables.CLIPBOARD_SILENT = "1"; + + # Nix Configuration + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + auto-optimise-store = true; + substituters = ["https://hyprland.cachix.org"]; + trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + }; + + # Linux Kernel + boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen; + + # Enable networking + networking.networkmanager = { + enable = true; + dns = "none"; + }; + networking.hostName = "isitreal-laptop"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = false; + services.blueman.enable = true; + + # Set your time zone. + time.hardwareClockInLocalTime = true; + time.timeZone = "Europe/Kyiv"; + + # Select internationalisation properties. + services.xserver = { + layout = "us,ua,ru"; + xkbOptions = "grp:alt_shift_toggle"; + }; + + i18n.supportedLocales = [ + "en_US.UTF-8/UTF-8" + "uk_UA.UTF-8/UTF-8" + "ru_RU.UTF-8/UTF-8" + ]; + + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + + # Fonts + fonts.packages = with pkgs; [ + jetbrains-mono + nerd-font-patcher + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + networking.firewall.enable = true; + # networking.firewall.allowedTCPPorts = [ 3000 ]; + # networking.firewall.allowedUDPPorts = [ 3000 ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Enable Encrypted Proxy DNS + networking = { + nameservers = [ "127.0.0.1" "::1"]; + dhcpcd.extraConfig = "nohook resolv.conf"; + }; + services.dnscrypt-proxy2 = { + enable = true; + settings = { + ipv6_servers = true; + require_dnssec = true; + + sources.public-resolvers = { + urls = [ + "https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md" + "https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md" + ]; + cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md"; + minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"; + }; + + # You can choose a specific set of servers from https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md + server_names = [ "cloudflare" "cloudflare-ipv6" "cloudflare-security" "cloudflare-security-ipv6" "adguard-dns-doh" "mullvad-adblock-doh" "mullvad-doh" "nextdns" "nextdns-ipv6" "quad9-dnscrypt-ipv4-filter-pri" "google" "google-ipv6" "ibksturm" ]; + }; + }; + + systemd.services.dnscrypt-proxy2.serviceConfig = { + StateDirectory = "dnscrypt-proxy"; + }; + + # Enable MAC Randomize + # systemd.services.macchanger = { + # enable = true; + # description = "Change MAC address"; + # wantedBy = [ "multi-user.target" ]; + # after = [ "network.target" ]; + # serviceConfig = { + # Type = "oneshot"; + # ExecStart = "${pkgs.macchanger}/bin/macchanger -r wlp0s20f3"; + # ExecStop = "${pkgs.macchanger}/bin/macchanger -p wlp0s20f3"; + # RemainAfterExit = true; + # }; + # }; + + # Enable security services + users.users.root.hashedPassword = "!"; + security.tpm2 = { + enable = true; + pkcs11.enable = true; + tctiEnvironment.enable = true; + }; + security.apparmor = { + enable = true; + packages = with pkgs; [ + apparmor-utils + apparmor-profiles + ]; + }; + services.fail2ban.enable = true; + # security.polkit.enable = true; + services.usbguard = { + enable = true; + dbus.enable = true; + implicitPolicyTarget = "block"; + # FIXME: set yours pref USB devices + rules = '' + allow id {id} + ''; + }; + services.clamav = { + daemon.enable = true; + updater.enable = true; + updater.interval = "daily"; #man systemd.time + updater.frequency = 12; + }; + programs.firejail = { + enable = true; + wrappedBinaries = { + mpv = { + executable = "${lib.getBin pkgs.mpv}/bin/mpv"; + profile = "${pkgs.firejail}/etc/firejail/mpv.profile"; + }; + imv = { + executable = "${lib.getBin pkgs.imv}/bin/imv"; + profile = "${pkgs.firejail}/etc/firejail/imv.profile"; + }; + zathura = { + executable = "${lib.getBin pkgs.zathura}/bin/zathura"; + profile = "${pkgs.firejail}/etc/firejail/zathura.profile"; + }; + discord = { + executable = "${lib.getBin pkgs.discord}/bin/discord"; + }; + }; + }; + + # Systemd services setup + systemd.packages = with pkgs; [ + auto-cpufreq + ]; + + # Enable services + services.geoclue2 = { + enable = true; + appConfig = { + "gammastep" = { + isAllowed = true; + isSystem = false; + users = [ "1000" ]; + }; + }; + }; + # services.avahi = { + # enable = true; + # nssmdns = true; + # }; + services.upower.enable = true; + programs.fish.enable = true; + programs.dconf.enable = true; + services.dbus.enable = true; + services.dbus.packages = with pkgs; [ + xfce.xfconf + gnome2.GConf + ]; + programs.light.enable = true; + services.mpd.enable = true; + programs.thunar.enable = true; + services.tumbler.enable = true; + services.fwupd.enable = true; + services.auto-cpufreq.enable = true; + security.pam.services.swaylock = {}; + # services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + + # USB Automounting + services.gvfs.enable = true; + # services.udisks2.enable = true; + # services.devmon.enable = true; + + # Wayland compatibility with X + # xdg.portal = { + # enable = true; + # wlr.enable = true; + # }; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable docker + virtualisation.docker.enable = true; + + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + # If you want to use JACK applications, uncomment this + # jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + # media-session.enable = true; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.xnm = { + isNormalUser = true; + description = "xnm"; + extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "docker" "tss" ]; + shell = pkgs.fish; + packages = with pkgs; [ + spotify + discord + tdesktop + vscode + brave + ]; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # Apply the overlay to the package set + # nixpkgs.overlays = [ spotifyOverlay ]; + + # Override packages + nixpkgs.config.packageOverrides = pkgs: { + colloid-icon-theme = pkgs.colloid-icon-theme.override { colorVariants = ["teal"]; }; + catppuccin-gtk = pkgs.catppuccin-gtk.override { + accents = [ "teal" ]; # You can specify multiple accents here to output multiple themes + size = "standard"; + variant = "macchiato"; + }; + discord = pkgs.discord.override { + withOpenASAR = true; + withTTS = true; + }; + nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { + inherit pkgs; + }; + }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + jdk11 + gleam + rebar3 + erlang + go + gopls + delve + (python311Full.withPackages(ps: with ps; [ pygobject3 gobject-introspection pyqt6-sip])) + nodejs_20 + bun + + python311Packages.python-lsp-server + nodePackages_latest.nodemon + nodePackages_latest.typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.vscode-langservers-extracted + nodePackages_latest.yaml-language-server + nodePackages_latest.dockerfile-language-server-nodejs + sumneko-lua-language-server + marksman + nil + + rustup + # evcxr #rust repl + rust-analyzer + cargo-deny + cargo-audit + cargo-update + # cargo + bacon + taplo #toml formatter & lsp + + lldb + gcc13 + wasmedge + license-generator + git-ignore + + xh + wezterm + # mcfly # terminal history + starship + zellij + helix + git + progress + noti + topgrade + ripgrep + rewrk + wrk2 + procs + tealdeer + # skim #fzf better alternative in rust + monolith + aria + # macchina #neofetch alternative in rust + sd + ouch + duf + du-dust + fd + jq + gh + trash-cli + zoxide + tokei + fzf + bat + mdcat + pandoc + lsd + gping + viu + tre-command + felix-fm + chafa + + lazydocker + lazygit + neofetch + onefetch + ipfetch + cpufetch + starfetch + octofetch + htop + bottom + btop + + cmatrix + pipes-rs + rsclock + cava + figlet + + qutebrowser + zathura + mpv + imv + + numix-icon-theme-circle + colloid-icon-theme + catppuccin-gtk + catppuccin-kvantum + catppuccin-cursors.macchiatoTeal + + at-spi2-atk + pamixer + pavucontrol + qt6.qtwayland + psi-notify + poweralertd + # wlsunset + gammastep + greetd.tuigreet + swaylock-effects + swayidle + brightnessctl + playerctl + psmisc + grim + slurp + imagemagick + swappy + ffmpeg_6-full + # wl-screenrec + wf-recorder + wl-clipboard + cliphist + clipboard-jh + xdg-utils + wtype + wlrctl + hyprpicker + waybar + rofi-wayland + dunst + avizo + wlogout + wpaperd + # swww + lz4 + gifsicle + + nuspell + hyphen + hunspell + hunspellDicts.en_US + hunspellDicts.uk_UA + hunspellDicts.ru_RU + + vulnix #scan command: vulnix --system + clamav #scan command: sudo freshcalm; clamscan [options] [file/directory/-] + chkrootkit #scan command: sudo chkrootkit + + # vulkan-tools + # opencl-info + # clinfo + # vdpauinfo + # libva-utils + usbutils + dig + speedtest-rs + + # gnome.gnome-tweaks + # gnome.gnome-shell + # xsettingsd + # gnome.gnome-shell-extensions + # themechanger + ]; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + +} diff --git a/nixos/flake.nix b/nixos/flake.nix new file mode 100644 index 0000000..339035b --- /dev/null +++ b/nixos/flake.nix @@ -0,0 +1,17 @@ +{ + description = "XNM's NixOS Configuration"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = { nixpkgs, ... } @ inputs: + { + nixosConfigurations.isitreal-laptop = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + ./configuration.nix + ]; + }; + }; +} diff --git a/nixos/hardware-configuration.nix b/nixos/hardware-configuration.nix new file mode 100644 index 0000000..4310901 --- /dev/null +++ b/nixos/hardware-configuration.nix @@ -0,0 +1,44 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.blacklistedKernelModules = [ "nouveau" "nvidia" ]; + boot.kernelParams = [ "i915.enable_guc=2" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + # FIXME: setup file systems, swap devices, luks and so on + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + nixpkgs.config.packageOverrides = pkgs: { + vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; + }; + hardware.opengl = { + enable = true; + driSupport = true; + extraPackages = with pkgs; [ + intel-compute-runtime + intel-media-driver # LIBVA_DRIVER_NAME=iHD + vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) + vaapiVdpau + libvdpau-va-gl + ]; + }; +}