├── .gitmodules
├── README.md
├── config
├── Kvantum
│ ├── kvantum-cat.kvconfig
│ ├── kvantum-nord.kvconfig
│ └── kvantum.kvconfig
├── alacritty
│ └── alacritty.toml
├── bat
│ ├── config
│ ├── config-cat
│ ├── config-nord
│ └── themes
│ │ └── Catppuccin-frappe.tmTheme
├── bottom
│ ├── bottom-cat.toml
│ ├── bottom-nord.toml
│ └── bottom.toml
├── dunst
│ ├── dunstrc
│ ├── dunstrc-cat
│ └── dunstrc-nord
├── fcitx5
│ ├── conf
│ │ ├── classicui-cat.conf
│ │ ├── classicui-nord.conf
│ │ ├── classicui.conf
│ │ └── notifications.conf
│ ├── config
│ └── profile
├── gitui
│ ├── theme-cat.ron
│ ├── theme-nord.ron
│ └── theme.ron
├── gtk-2.0
│ └── gtkfilechooser.ini
├── gtk-3.0
│ ├── assets
│ │ ├── close-active.svg
│ │ ├── close-backdrop-active.svg
│ │ ├── close-backdrop-hover.svg
│ │ ├── close-backdrop-normal.svg
│ │ ├── close-hover.svg
│ │ ├── close-normal.svg
│ │ ├── maximize-active.svg
│ │ ├── maximize-backdrop-active.svg
│ │ ├── maximize-backdrop-hover.svg
│ │ ├── maximize-backdrop-normal.svg
│ │ ├── maximize-hover.svg
│ │ ├── maximize-normal.svg
│ │ ├── maximized-active.svg
│ │ ├── maximized-backdrop-active.svg
│ │ ├── maximized-backdrop-hover.svg
│ │ ├── maximized-backdrop-normal.svg
│ │ ├── maximized-hover.svg
│ │ ├── maximized-normal.svg
│ │ ├── minimize-active.svg
│ │ ├── minimize-backdrop-active.svg
│ │ ├── minimize-backdrop-hover.svg
│ │ ├── minimize-backdrop-normal.svg
│ │ ├── minimize-hover.svg
│ │ └── minimize-normal.svg
│ ├── bookmarks
│ ├── colors.css
│ ├── gtk.css
│ ├── settings-cat.ini
│ ├── settings-nord.ini
│ └── settings.ini
├── gtk-4.0
│ ├── colors.css
│ ├── gtk-cat.css
│ ├── gtk-dark-cat.css
│ ├── gtk-dark-nord.css
│ ├── gtk-dark.css
│ ├── gtk-nord.css
│ ├── gtk.css
│ └── settings.ini
├── i3
│ ├── brightness.sh
│ ├── cat.sh
│ ├── config
│ ├── gummy.sh
│ ├── lock.sh
│ ├── mon.sh
│ ├── nord.sh
│ ├── start.sh
│ └── volume.sh
├── networkmanager-dmenu
│ └── config.ini
├── nvim
│ ├── after
│ │ └── ftplugin
│ │ │ └── rust.lua
│ ├── init.lua
│ ├── lazy-lock.json
│ └── lua
│ │ ├── .luarc.json
│ │ └── user
│ │ ├── cmp
│ │ ├── autopairs.lua
│ │ ├── cmp.lua
│ │ ├── guard.lua
│ │ ├── handlersmason.lua
│ │ ├── installlsp
│ │ ├── lsp-sign.lua
│ │ ├── lsp.lua
│ │ ├── lspsaga.lua
│ │ └── luasnip.lua
│ │ ├── editor
│ │ ├── colorsizer.lua
│ │ ├── comment.lua
│ │ ├── illuminate.lua
│ │ └── treesitter.lua
│ │ ├── keymaps.lua
│ │ ├── lang
│ │ └── image.lua
│ │ ├── lazy.lua
│ │ ├── options.lua
│ │ ├── other
│ │ ├── flash.lua
│ │ ├── hlslen.lua
│ │ └── ufo.lua
│ │ ├── tool
│ │ ├── nvim-tree.lua
│ │ ├── telescope.lua
│ │ ├── whichkey.lua
│ │ └── wilder.lua
│ │ └── ui
│ │ ├── alpha.lua
│ │ ├── bufferline.lua
│ │ ├── catppuccin.lua
│ │ ├── colorscheme.lua
│ │ ├── icons.lua
│ │ ├── indentline.lua
│ │ ├── lualine.lua
│ │ └── nordic.lua
├── polybar
│ ├── config-cat.ini
│ ├── config-nord.ini
│ ├── config.ini
│ ├── launch.sh
│ ├── launchleft.sh
│ └── scripts
│ │ ├── cava.py
│ │ ├── nvidia-mem.sh
│ │ ├── nvidia-tem.sh
│ │ ├── nvidia-use.sh
│ │ └── yay.sh
├── ranger
│ ├── commands.py
│ ├── commands_full.py
│ ├── plugins
│ │ ├── __init__.py
│ │ └── __pycache__
│ │ │ └── __init__.cpython-310.opt-1.pyc
│ ├── rc.conf
│ ├── rifle.conf
│ └── scope.sh
├── rofi
│ ├── catppuccin-frappe.rasi
│ ├── colors.rasi
│ ├── config-cat.rasi
│ ├── config-nord.rasi
│ ├── config.rasi
│ ├── launcher.sh
│ ├── lock_i3.sh
│ ├── nord.rasi
│ ├── off.sh
│ └── powermenu.sh
└── zathura
│ ├── zathurarc
│ ├── zathurarc-cat
│ └── zathurarc-nord
├── packages.txt
├── shots
├── 2023-02-02_20-56.png
└── 2023-02-02_21-06.png
├── startpage
├── README.md
├── css
│ └── style.css
├── icons
│ ├── Nord
│ │ ├── 01d.png
│ │ ├── 01n.png
│ │ ├── 02d.png
│ │ ├── 02n.png
│ │ ├── 03d.png
│ │ ├── 03n.png
│ │ ├── 04d.png
│ │ ├── 04n.png
│ │ ├── 09d.png
│ │ ├── 09n.png
│ │ ├── 10d.png
│ │ ├── 10n.png
│ │ ├── 11d.png
│ │ ├── 11n.png
│ │ ├── 13d.png
│ │ ├── 13n.png
│ │ ├── 50d.png
│ │ ├── 50n.png
│ │ └── unknown.png
│ ├── White
│ │ ├── 01d.png
│ │ ├── 01n.png
│ │ ├── 02d.png
│ │ ├── 02n.png
│ │ ├── 03d.png
│ │ ├── 03n.png
│ │ ├── 04d.png
│ │ ├── 04n.png
│ │ ├── 09d.png
│ │ ├── 09n.png
│ │ ├── 10d.png
│ │ ├── 10n.png
│ │ ├── 11d.png
│ │ ├── 11n.png
│ │ ├── 13d.png
│ │ ├── 13n.png
│ │ ├── 50d.png
│ │ ├── 50n.png
│ │ └── unknown.png
│ └── g.png
├── img
│ └── gnu-linux.png
├── index.html
├── js
│ ├── greeting.js
│ ├── theme.js
│ ├── time.js
│ └── weather.js
└── sass
│ └── main.scss
├── theme
├── Kvantum.tar.xz
├── README.md
├── icons
│ ├── Nordic-cursors.tar.xz
│ └── Zafiro-Nord-Black.tar.xz
├── sddm
│ └── Nor.tar.xz
└── theme
│ ├── Catppuccin-Frappe-Standard-Blue-Dark.tar.xz
│ ├── Nordic-darker-v40.zip
│ └── Nordic-darker.tar.xz
├── user
├── README.md
├── Xresources
├── gtkrc-2.0
├── xprofile
└── zshrc
├── vim
└── vimrc
├── wallpaper
├── 2.png
├── arch.png
├── archlinux.png
├── cutppuccin.png
├── nord1.png
└── others.md
└── zsh
├── cache
├── fzfhistory
└── zsh_history
├── file_preview.sh
├── fzf.zsh
├── img_preview
└── p10k.zsh
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "p10k"]
2 | path = zsh/powerlevel10k
3 | url = https://github.com/romkatv/powerlevel10k
4 | [submodule "fzf-tab"]
5 | path = zsh/fzf-tab
6 | url = https://github.com/Aloxaf/fzf-tab
7 | [submodule "fastsh"]
8 | path = zsh/fast-syntax-highlighting
9 | url = https://github.com/zdharma-continuum/fast-syntax-highlighting
10 | [submodule "ranger-devicons"]
11 | path = config/ranger/plugins/ranger_devicons
12 | url = https://github.com/alexanderjeurissen/ranger_devicons
13 | [submodule "ranger-archives"]
14 | path = config/ranger/plugins/ranger-archives
15 | url = https://github.com/maximtrp/ranger-archives
16 | [submodule "zshas"]
17 | path = zsh/zsh-autosuggestions
18 | url = https://github.com/zsh-users/zsh-autosuggestions
19 |
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Personal Dotfile
2 |
3 | I use ArchLinux as Linux distribution and i3 as windows manager, this repo is my config. The packages I explicitly installed are in packages.txt.
4 | You can use config/i3/nord.sh
([nord](https://www.nordtheme.com/)) and config/i3/cat.sh
([catppuccin](https://github.com/catppuccin)) to change the theme.
5 |
6 | ## Shot
7 |
8 | 
9 |
10 | 
11 |
12 |
13 | ## Some tools I use
14 |
15 | - Font:
16 | - [ttf-iosevka-nerd](https://archlinux.org/packages/community/any/ttf-iosevka-nerd/)
17 | - [ttf-jetbrains-mono-nerd](https://archlinux.org/packages/community/any/ttf-jetbrains-mono-nerd/)
18 | - [ttf-jetbrains-mono](https://archlinux.org/packages/community/any/ttf-jetbrains-mono/)
19 | - Launcher:
20 | - [rofi](https://archlinux.org/packages/community/x86_64/rofi/)
21 | - [rofi-bluetooth](https://github.com/nickclyde/rofi-bluetooth)
22 | - [Rofi Power Menu](https://github.com/jluttine/rofi-power-menu)
23 | - [Networkmanager-dmenu](https://github.com/firecat53/networkmanager-dmenu)
24 | - Terminal: [alacritty](https://archlinux.org/packages/community/x86_64/alacritty/)
25 | - Editor:
26 | - [neovim](https://archlinux.org/packages/community/x86_64/neovim/)
27 | - [neovide](https://archlinux.org/packages/community/x86_64/neovide/)
28 | - [vscode](visual-studio-code-bin)
29 | - [qtcreator](https://archlinux.org/packages/extra/x86_64/qtcreator/)
30 | - Compositor: [picom-ftlabs](https://aur.archlinux.org/packages/picom-ftlabs-git)
31 | - Shell:
32 | - [fish](https://archlinux.org/packages/community/x86_64/fish/)
33 | - [zsh](https://archlinux.org/packages/extra/x86_64/zsh/)
34 | - [fzf-tab](https://github.com/Aloxaf/fzf-tab)
35 | - [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)
36 | - [fast-syntax-highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting)
37 | - [Powerlevel10k](https://aur.archlinux.org/packages/zsh-theme-powerlevel10k-git)
38 | - [zoxide](https://archlinux.org/packages/community/x86_64/zoxide/)
39 | - PDF reader:
40 | - [zathura](https://archlinux.org/packages/community/x86_64/zathura/)
41 | - [zathura-pdf-mupdf](https://archlinux.org/packages/community/x86_64/zathura-pdf-mupdf/)
42 | - [zathura-djvu](https://archlinux.org/packages/community/x86_64/zathura-djvu/)
43 | - Notification daemon: [dunst](https://archlinux.org/packages/community/x86_64/dunst/)
44 | - Volume notificator: [xob](https://aur.archlinux.org/packages/xob)
45 | - Screen locker:
46 | - [i3lock-fancy](https://aur.archlinux.org/packages/i3lock-fancy-git)
47 | - [betterlockscreen](https://aur.archlinux.org/packages/betterlockscreen-git)
48 | - [xautolock](https://archlinux.org/packages/community/x86_64/xautolock/)
49 | - Theme controler:
50 | - [kvantum](https://archlinux.org/packages/community/x86_64/kvantum/)
51 | - [qt5ct](https://archlinux.org/packages/community/x86_64/qt5ct/)
52 | - See details in [archwiki-qt](https://wiki.archlinux.org/title/Qt#Configuration_of_Qt_5_applications_under_environments_other_than_KDE_Plasma) and [archwiki-gtk](https://wiki.archlinux.org/title/GTK#Configuration)
53 | - Gtk and Qt themes:
54 | - [Nordic](https://github.com/EliverLara/Nordic)
55 | - [catppuccin-gtk](https://github.com/catppuccin/gtk)
56 | - [catppuccin-kvantum](https://github.com/catppuccin/Kvantum)
57 | - Icon theme: [Zafiro-Nord-Dark-Black](https://www.gnome-look.org/p/1166289/)
58 | - Cursor Theme: [Nordic cursors](https://store.kde.org/p/1662218/) See details in [archwiki-cursor](https://wiki.archlinux.org/title/Cursor_themes)
59 | - ~~Firefox Theme: [minimal-functional-fox ](https://github.com/mut-ex/minimal-functional-fox)~~(bugs after version 113.0)
60 | - Fcitx5 Theme:
61 | - [nord](https://github.com/tonyfettes/fcitx5-nord)
62 | - [catppuccin](https://github.com/catppuccin/fcitx5)
63 | - Wallpaper Manage: [feh](https://archlinux.org/packages/extra/x86_64/feh/)
64 | - Bar: [polybar](https://archlinux.org/packages/community/x86_64/polybar/)
65 | - File browser:
66 | - [ranger](https://archlinux.org/packages/community/any/ranger/)
67 | - [dolphin](https://archlinux.org/packages/extra/x86_64/dolphin/)
68 | - Screen shot: [flameshot](https://archlinux.org/packages/community/x86_64/flameshot/)
69 | - Startpage: [Bento](https://github.com/migueravila/Bento)
70 | - Temperature manager: [gummy](https://github.com/Fushko/gummy)
71 |
--------------------------------------------------------------------------------
/config/Kvantum/kvantum-cat.kvconfig:
--------------------------------------------------------------------------------
1 | [General]
2 | theme=Catppuccin-Frappe-Blue
3 |
--------------------------------------------------------------------------------
/config/Kvantum/kvantum-nord.kvconfig:
--------------------------------------------------------------------------------
1 | [General]
2 | theme=Nordic-Darker
3 |
--------------------------------------------------------------------------------
/config/Kvantum/kvantum.kvconfig:
--------------------------------------------------------------------------------
1 | [General]
2 | theme=Nordic-Darker
3 |
--------------------------------------------------------------------------------
/config/alacritty/alacritty.toml:
--------------------------------------------------------------------------------
1 | [font]
2 | normal = {family = "JetBrainsMono NF" ,style = "Regular"}
3 | bold = {family = "JetBrainsMono NF" ,style = "Bold"}
4 | italic = {family = "JetBrainsMono NF" ,style = "Italic "}
5 | bold_italic = {family = "JetBrainsMono NF" ,style = "Bold Italic "}
6 | size = 12
7 |
8 | [window]
9 | dimensions = {columns = 110 , lines = 25}
10 |
11 | [keyboard]
12 | bindings = [{key = "N", mods = "Control | Shift" , action = "CreateNewWindow" }]
13 |
14 |
15 | # Colors (Nord)
16 |
17 | # Default colors
18 | [colors.primary]
19 | background = '#2E3440'
20 | foreground = '#D8DEE9'
21 |
22 | # Normal colors
23 | [colors.normal]
24 | black = '#3B4252'
25 | red = '#BF616A'
26 | green = '#A3BE8C'
27 | yellow = '#EBCB8B'
28 | blue = '#81A1C1'
29 | magenta = '#B48EAD'
30 | cyan = '#88C0D0'
31 | white = '#E5E9F0'
32 |
33 | # Bright colors
34 | [colors.bright]
35 | black = '#4C566A'
36 | red = '#BF616A'
37 | green = '#A3BE8C'
38 | yellow = '#EBCB8B'
39 | blue = '#81A1C1'
40 | magenta = '#B48EAD'
41 | cyan = '#8FBCBB'
42 | white = '#ECEFF4'
43 |
44 | [env]
45 | WINIT_X11_SCALE_FACTOR = "1.0"
46 |
--------------------------------------------------------------------------------
/config/bat/config:
--------------------------------------------------------------------------------
1 | # This is `bat`s configuration file. Each line either contains a comment or
2 | # a command-line option that you want to pass to `bat` by default. You can
3 | # run `bat --help` to get a list of all possible configuration options.
4 |
5 | # Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
6 | # for a list of all available themes
7 | --theme="Nord"
8 |
9 | # Enable this to use italic text on the terminal. This is not supported on all
10 | # terminal emulators (like tmux, by default):
11 | #--italic-text=always
12 |
13 | # Uncomment the following line to disable automatic paging:
14 | #--paging=never
15 |
16 | # Uncomment the following line if you are using less version >= 551 and want to
17 | # enable mouse scrolling support in `bat` when running inside tmux. This might
18 | # disable text selection, unless you press shift.
19 | #--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
20 |
21 | # Syntax mappings: map a certain filename pattern to a language.
22 | # Example 1: use the C++ syntax for Arduino .ino files
23 | # Example 2: Use ".gitignore"-style highlighting for ".ignore" files
24 | #--map-syntax "*.ino:C++"
25 | #--map-syntax ".ignore:Git Ignore"
26 |
--------------------------------------------------------------------------------
/config/bat/config-cat:
--------------------------------------------------------------------------------
1 | # This is `bat`s configuration file. Each line either contains a comment or
2 | # a command-line option that you want to pass to `bat` by default. You can
3 | # run `bat --help` to get a list of all possible configuration options.
4 |
5 | # Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
6 | # for a list of all available themes
7 | --theme="Catppuccin-frappe"
8 |
9 | # Enable this to use italic text on the terminal. This is not supported on all
10 | # terminal emulators (like tmux, by default):
11 | #--italic-text=always
12 |
13 | # Uncomment the following line to disable automatic paging:
14 | #--paging=never
15 |
16 | # Uncomment the following line if you are using less version >= 551 and want to
17 | # enable mouse scrolling support in `bat` when running inside tmux. This might
18 | # disable text selection, unless you press shift.
19 | #--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
20 |
21 | # Syntax mappings: map a certain filename pattern to a language.
22 | # Example 1: use the C++ syntax for Arduino .ino files
23 | # Example 2: Use ".gitignore"-style highlighting for ".ignore" files
24 | #--map-syntax "*.ino:C++"
25 | #--map-syntax ".ignore:Git Ignore"
26 |
--------------------------------------------------------------------------------
/config/bat/config-nord:
--------------------------------------------------------------------------------
1 | # This is `bat`s configuration file. Each line either contains a comment or
2 | # a command-line option that you want to pass to `bat` by default. You can
3 | # run `bat --help` to get a list of all possible configuration options.
4 |
5 | # Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
6 | # for a list of all available themes
7 | --theme="Nord"
8 |
9 | # Enable this to use italic text on the terminal. This is not supported on all
10 | # terminal emulators (like tmux, by default):
11 | #--italic-text=always
12 |
13 | # Uncomment the following line to disable automatic paging:
14 | #--paging=never
15 |
16 | # Uncomment the following line if you are using less version >= 551 and want to
17 | # enable mouse scrolling support in `bat` when running inside tmux. This might
18 | # disable text selection, unless you press shift.
19 | #--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
20 |
21 | # Syntax mappings: map a certain filename pattern to a language.
22 | # Example 1: use the C++ syntax for Arduino .ino files
23 | # Example 2: Use ".gitignore"-style highlighting for ".ignore" files
24 | #--map-syntax "*.ino:C++"
25 | #--map-syntax ".ignore:Git Ignore"
26 |
--------------------------------------------------------------------------------
/config/bottom/bottom-nord.toml:
--------------------------------------------------------------------------------
1 | # This is a default config file for bottom. All of the settings are commented
2 | # out by default; if you wish to change them uncomment and modify as you see
3 | # fit.
4 |
5 | # This group of options represents a command-line flag/option. Flags explicitly
6 | # added when running (ie: btm -a) will override this config file if an option
7 | # is also set here.
8 |
9 | [flags]
10 | # Whether to hide the average cpu entry.
11 | #hide_avg_cpu = false
12 | # Whether to use dot markers rather than braille.
13 | #dot_marker = false
14 | # The update rate of the application.
15 | #rate = 1000
16 | # Whether to put the CPU legend to the left.
17 | #left_legend = false
18 | # Whether to set CPU% on a process to be based on the total CPU or just current usage.
19 | #current_usage = false
20 | # Whether to group processes with the same name together by default.
21 | #group_processes = false
22 | # Whether to make process searching case sensitive by default.
23 | #case_sensitive = false
24 | # Whether to make process searching look for matching the entire word by default.
25 | #whole_word = false
26 | # Whether to make process searching use regex by default.
27 | #regex = false
28 | # Defaults to Celsius. Temperature is one of:
29 | #temperature_type = "k"
30 | #temperature_type = "f"
31 | #temperature_type = "c"
32 | #temperature_type = "kelvin"
33 | #temperature_type = "fahrenheit"
34 | #temperature_type = "celsius"
35 | # The default time interval (in milliseconds).
36 | #default_time_value = 60000
37 | # The time delta on each zoom in/out action (in milliseconds).
38 | #time_delta = 15000
39 | # Hides the time scale.
40 | #hide_time = false
41 | # Override layout default widget
42 | #default_widget_type = "proc"
43 | #default_widget_count = 1
44 | # Use basic mode
45 | #basic = false
46 | # Use the old network legend style
47 | #use_old_network_legend = false
48 | # Remove space in tables
49 | #hide_table_gap = false
50 | # Show the battery widgets
51 | #battery = false
52 | # Disable mouse clicks
53 | #disable_click = false
54 | # Built-in themes. Valid values are "default", "default-light", "gruvbox", "gruvbox-light", "nord", "nord-light"
55 | color = "nord"
56 | # Show memory values in the processes widget as values by default
57 | mem_as_value = true
58 | # Show tree mode by default in the processes widget.
59 | #tree = false
60 | # Shows an indicator in table widgets tracking where in the list you are.
61 | #show_table_scroll_position = false
62 | # Show processes as their commands by default in the process widget.
63 | #process_command = false
64 | # Displays the network widget with binary prefixes.
65 | #network_use_binary_prefix = false
66 | # Displays the network widget using bytes.
67 | #network_use_bytes = false
68 | # Displays the network widget with a log scale.
69 | #network_use_log = false
70 | # Hides advanced options to stop a process on Unix-like systems.
71 | #disable_advanced_kill = false
72 |
73 | # These are all the components that support custom theming. Note that colour support
74 | # will depend on terminal support.
75 |
76 | #[colors] # Uncomment if you want to use custom colors
77 | # Represents the colour of table headers (processes, CPU, disks, temperature).
78 | #table_header_color="LightBlue"
79 | # Represents the colour of the label each widget has.
80 | #widget_title_color="Gray"
81 | # Represents the average CPU color.
82 | #avg_cpu_color="Red"
83 | # Represents the colour the core will use in the CPU legend and graph.
84 | #cpu_core_colors=["LightMagenta", "LightYellow", "LightCyan", "LightGreen", "LightBlue", "LightRed", "Cyan", "Green", "Blue", "Red"]
85 | # Represents the colour RAM will use in the memory legend and graph.
86 | #ram_color="LightMagenta"
87 | # Represents the colour SWAP will use in the memory legend and graph.
88 | #swap_color="LightYellow"
89 | # Represents the colour rx will use in the network legend and graph.
90 | #rx_color="LightCyan"
91 | # Represents the colour tx will use in the network legend and graph.
92 | #tx_color="LightGreen"
93 | # Represents the colour of the border of unselected widgets.
94 | #border_color="Gray"
95 | # Represents the colour of the border of selected widgets.
96 | #highlighted_border_color="LightBlue"
97 | # Represents the colour of most text.
98 | #text_color="Gray"
99 | # Represents the colour of text that is selected.
100 | #selected_text_color="Black"
101 | # Represents the background colour of text that is selected.
102 | #selected_bg_color="LightBlue"
103 | # Represents the colour of the lines and text of the graph.
104 | #graph_color="Gray"
105 | # Represents the colours of the battery based on charge
106 | #high_battery_color="green"
107 | #medium_battery_color="yellow"
108 | #low_battery_color="red"
109 |
110 | # Layout - layouts follow a pattern like this:
111 | # [[row]] represents a row in the application.
112 | # [[row.child]] represents either a widget or a column.
113 | # [[row.child.child]] represents a widget.
114 | #
115 | # All widgets must have the type value set to one of ["cpu", "mem", "proc", "net", "temp", "disk", "empty"].
116 | # All layout components have a ratio value - if this is not set, then it defaults to 1.
117 | # The default widget layout:
118 | #[[row]]
119 | # ratio=30
120 | # [[row.child]]
121 | # type="cpu"
122 | #[[row]]
123 | # ratio=40
124 | # [[row.child]]
125 | # ratio=4
126 | # type="mem"
127 | # [[row.child]]
128 | # ratio=3
129 | # [[row.child.child]]
130 | # type="temp"
131 | # [[row.child.child]]
132 | # type="disk"
133 | #[[row]]
134 | # ratio=30
135 | # [[row.child]]
136 | # type="net"
137 | # [[row.child]]
138 | # type="proc"
139 | # default=true
140 |
141 |
142 | # Filters - you can hide specific temperature sensors, network interfaces, and disks using filters. This is admittedly
143 | # a bit hard to use as of now, and there is a planned in-app interface for managing this in the future:
144 | #[disk_filter]
145 | #is_list_ignored = true
146 | #list = ["/dev/sda\\d+", "/dev/nvme0n1p2"]
147 | #regex = true
148 | #case_sensitive = false
149 | #whole_word = false
150 |
151 | #[mount_filter]
152 | #is_list_ignored = true
153 | #list = ["/mnt/.*", "/boot"]
154 | #regex = true
155 | #case_sensitive = false
156 | #whole_word = false
157 |
158 | #[temp_filter]
159 | #is_list_ignored = true
160 | #list = ["cpu", "wifi"]
161 | #regex = false
162 | #case_sensitive = false
163 | #whole_word = false
164 |
165 | #[net_filter]
166 | #is_list_ignored = true
167 | #list = ["virbr0.*"]
168 | #regex = true
169 | #case_sensitive = false
170 | #whole_word = false
171 |
--------------------------------------------------------------------------------
/config/bottom/bottom.toml:
--------------------------------------------------------------------------------
1 | # This is a default config file for bottom. All of the settings are commented
2 | # out by default; if you wish to change them uncomment and modify as you see
3 | # fit.
4 |
5 | # This group of options represents a command-line flag/option. Flags explicitly
6 | # added when running (ie: btm -a) will override this config file if an option
7 | # is also set here.
8 |
9 | [flags]
10 | # Whether to hide the average cpu entry.
11 | #hide_avg_cpu = false
12 | # Whether to use dot markers rather than braille.
13 | #dot_marker = false
14 | # The update rate of the application.
15 | #rate = 1000
16 | # Whether to put the CPU legend to the left.
17 | #left_legend = false
18 | # Whether to set CPU% on a process to be based on the total CPU or just current usage.
19 | #current_usage = false
20 | # Whether to group processes with the same name together by default.
21 | #group_processes = false
22 | # Whether to make process searching case sensitive by default.
23 | #case_sensitive = false
24 | # Whether to make process searching look for matching the entire word by default.
25 | #whole_word = false
26 | # Whether to make process searching use regex by default.
27 | #regex = false
28 | # Defaults to Celsius. Temperature is one of:
29 | #temperature_type = "k"
30 | #temperature_type = "f"
31 | #temperature_type = "c"
32 | #temperature_type = "kelvin"
33 | #temperature_type = "fahrenheit"
34 | #temperature_type = "celsius"
35 | # The default time interval (in milliseconds).
36 | #default_time_value = 60000
37 | # The time delta on each zoom in/out action (in milliseconds).
38 | #time_delta = 15000
39 | # Hides the time scale.
40 | #hide_time = false
41 | # Override layout default widget
42 | #default_widget_type = "proc"
43 | #default_widget_count = 1
44 | # Use basic mode
45 | #basic = false
46 | # Use the old network legend style
47 | #use_old_network_legend = false
48 | # Remove space in tables
49 | #hide_table_gap = false
50 | # Show the battery widgets
51 | #battery = false
52 | # Disable mouse clicks
53 | #disable_click = false
54 | # Built-in themes. Valid values are "default", "default-light", "gruvbox", "gruvbox-light", "nord", "nord-light"
55 | color = "nord"
56 | # Show memory values in the processes widget as values by default
57 | mem_as_value = true
58 | # Show tree mode by default in the processes widget.
59 | #tree = false
60 | # Shows an indicator in table widgets tracking where in the list you are.
61 | #show_table_scroll_position = false
62 | # Show processes as their commands by default in the process widget.
63 | #process_command = false
64 | # Displays the network widget with binary prefixes.
65 | #network_use_binary_prefix = false
66 | # Displays the network widget using bytes.
67 | #network_use_bytes = false
68 | # Displays the network widget with a log scale.
69 | #network_use_log = false
70 | # Hides advanced options to stop a process on Unix-like systems.
71 | #disable_advanced_kill = false
72 |
73 | # These are all the components that support custom theming. Note that colour support
74 | # will depend on terminal support.
75 |
76 | #[colors] # Uncomment if you want to use custom colors
77 | # Represents the colour of table headers (processes, CPU, disks, temperature).
78 | #table_header_color="LightBlue"
79 | # Represents the colour of the label each widget has.
80 | #widget_title_color="Gray"
81 | # Represents the average CPU color.
82 | #avg_cpu_color="Red"
83 | # Represents the colour the core will use in the CPU legend and graph.
84 | #cpu_core_colors=["LightMagenta", "LightYellow", "LightCyan", "LightGreen", "LightBlue", "LightRed", "Cyan", "Green", "Blue", "Red"]
85 | # Represents the colour RAM will use in the memory legend and graph.
86 | #ram_color="LightMagenta"
87 | # Represents the colour SWAP will use in the memory legend and graph.
88 | #swap_color="LightYellow"
89 | # Represents the colour rx will use in the network legend and graph.
90 | #rx_color="LightCyan"
91 | # Represents the colour tx will use in the network legend and graph.
92 | #tx_color="LightGreen"
93 | # Represents the colour of the border of unselected widgets.
94 | #border_color="Gray"
95 | # Represents the colour of the border of selected widgets.
96 | #highlighted_border_color="LightBlue"
97 | # Represents the colour of most text.
98 | #text_color="Gray"
99 | # Represents the colour of text that is selected.
100 | #selected_text_color="Black"
101 | # Represents the background colour of text that is selected.
102 | #selected_bg_color="LightBlue"
103 | # Represents the colour of the lines and text of the graph.
104 | #graph_color="Gray"
105 | # Represents the colours of the battery based on charge
106 | #high_battery_color="green"
107 | #medium_battery_color="yellow"
108 | #low_battery_color="red"
109 |
110 | # Layout - layouts follow a pattern like this:
111 | # [[row]] represents a row in the application.
112 | # [[row.child]] represents either a widget or a column.
113 | # [[row.child.child]] represents a widget.
114 | #
115 | # All widgets must have the type value set to one of ["cpu", "mem", "proc", "net", "temp", "disk", "empty"].
116 | # All layout components have a ratio value - if this is not set, then it defaults to 1.
117 | # The default widget layout:
118 | #[[row]]
119 | # ratio=30
120 | # [[row.child]]
121 | # type="cpu"
122 | #[[row]]
123 | # ratio=40
124 | # [[row.child]]
125 | # ratio=4
126 | # type="mem"
127 | # [[row.child]]
128 | # ratio=3
129 | # [[row.child.child]]
130 | # type="temp"
131 | # [[row.child.child]]
132 | # type="disk"
133 | #[[row]]
134 | # ratio=30
135 | # [[row.child]]
136 | # type="net"
137 | # [[row.child]]
138 | # type="proc"
139 | # default=true
140 |
141 |
142 | # Filters - you can hide specific temperature sensors, network interfaces, and disks using filters. This is admittedly
143 | # a bit hard to use as of now, and there is a planned in-app interface for managing this in the future:
144 | #[disk_filter]
145 | #is_list_ignored = true
146 | #list = ["/dev/sda\\d+", "/dev/nvme0n1p2"]
147 | #regex = true
148 | #case_sensitive = false
149 | #whole_word = false
150 |
151 | #[mount_filter]
152 | #is_list_ignored = true
153 | #list = ["/mnt/.*", "/boot"]
154 | #regex = true
155 | #case_sensitive = false
156 | #whole_word = false
157 |
158 | #[temp_filter]
159 | #is_list_ignored = true
160 | #list = ["cpu", "wifi"]
161 | #regex = false
162 | #case_sensitive = false
163 | #whole_word = false
164 |
165 | #[net_filter]
166 | #is_list_ignored = true
167 | #list = ["virbr0.*"]
168 | #regex = true
169 | #case_sensitive = false
170 | #whole_word = false
171 |
--------------------------------------------------------------------------------
/config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | #
2 | # ____ _ _ _
3 | # | _ \ _ _ _ __ ___| |_ __| |_ _ _ __ ___| |_ _ __ ____
4 | # | | | | | | | '_ \/ __| __| _____ / _` | | | | '_ \/ __| __| '__/ ___|
5 | # | |_| | |_| | | | \__ \ |_ |_____| | (_| | |_| | | | \__ \ |_| | | (___
6 | # |____/ \__,_|_| |_|___/\__| \__,_|\__,_|_| |_|___/\__|_| \____|
7 | #
8 | #
9 |
10 | #
11 |
12 |
13 | [global]
14 | monitor = 0
15 | follow = mouse
16 | geometry = "320x6-30+60"
17 | indicate_hidden = yes
18 | shrink = no
19 | notification_height = 15
20 | separator_height = 1
21 | padding = 10
22 | horizontal_padding = 10
23 | frame_width = 0
24 | frame_color = "#232323"
25 | separator_color = frame
26 | sort = yes
27 | idle_threshold = 120
28 | # font = PingFang SC 12
29 | font = monospace Bold 12
30 | line_height = 0
31 | markup = full
32 | format = "%s %p\n%b"
33 | alignment = left
34 | show_age_threshold = 60
35 | word_wrap = yes
36 | ellipsize = middle
37 | ignore_newline = no
38 | stack_duplicates = true
39 | hide_duplicate_count = false
40 | show_indicators = yes
41 | icon_position = left
42 | max_icon_size = 48
43 | icon_path = /home/charles/.local/share/icons/Nordic-Darker/status/16/:/home/charles/.local/share/icons/Nordic-Darker/devices/16/:/home/charles/.local/share/icons/Nordic-Darker/apps/scalable/
44 | # icon_path = /usr/share/icons/Arc/status/48/:/usr/share/icons/Arc/devices/48/:/usr/share/icons/Papirus/48x48/apps/
45 | sticky_history = yes
46 | history_length = 20
47 | always_run_script = true
48 | startup_notification = false
49 | verbosity = mesg
50 | corner_radius = 2
51 | force_xinerama = false
52 | mouse_left_click = do_action
53 | mouse_middle_click = close_all
54 | mouse_right_click = close_current
55 |
56 |
57 | [shortcuts]
58 | close = ctrl+space
59 | history = ctrl+shift+space
60 | context = ctrl+shift+period
61 |
62 |
63 | [urgency_low]
64 | # IMPORTANT: colors have to be defined in quotation marks.
65 | # Otherwise the '#' and following would be interpreted as a comment.
66 | background="#2e3440"
67 | foreground="#d8dee9"
68 | timeout = 3
69 |
70 |
71 | [urgency_normal]
72 | background="#2e3440"
73 | foreground="#d8dee9"
74 | timeout = 3
75 |
76 |
77 | [urgency_critical]
78 | background="#2e3440"
79 | foreground="#d8dee9"
80 | timeout = 0
81 |
--------------------------------------------------------------------------------
/config/dunst/dunstrc-cat:
--------------------------------------------------------------------------------
1 | #
2 | # ____ _ _ _
3 | # | _ \ _ _ _ __ ___| |_ __| |_ _ _ __ ___| |_ _ __ ____
4 | # | | | | | | | '_ \/ __| __| _____ / _` | | | | '_ \/ __| __| '__/ ___|
5 | # | |_| | |_| | | | \__ \ |_ |_____| | (_| | |_| | | | \__ \ |_| | | (___
6 | # |____/ \__,_|_| |_|___/\__| \__,_|\__,_|_| |_|___/\__|_| \____|
7 | #
8 | #
9 |
10 | #
11 |
12 |
13 | [global]
14 | monitor = 0
15 | follow = mouse
16 | geometry = "320x6-30+60"
17 | indicate_hidden = yes
18 | shrink = no
19 | notification_height = 15
20 | separator_height = 1
21 | padding = 10
22 | horizontal_padding = 10
23 | frame_width = 0
24 | frame_color = "#8CAAEE"
25 | separator_color = frame
26 | sort = yes
27 | idle_threshold = 120
28 | # font = PingFang SC 12
29 | font = monospace Bold 12
30 | line_height = 0
31 | markup = full
32 | format = "%s %p\n%b"
33 | alignment = left
34 | show_age_threshold = 60
35 | word_wrap = yes
36 | ellipsize = middle
37 | ignore_newline = no
38 | stack_duplicates = true
39 | hide_duplicate_count = false
40 | show_indicators = yes
41 | icon_position = left
42 | max_icon_size = 48
43 | icon_path = /home/charles/.local/share/icons/Nordic-Darker/status/16/:/home/charles/.local/share/icons/Nordic-Darker/devices/16/:/home/charles/.local/share/icons/Nordic-Darker/apps/scalable/
44 | # icon_path = /usr/share/icons/Arc/status/48/:/usr/share/icons/Arc/devices/48/:/usr/share/icons/Papirus/48x48/apps/
45 | sticky_history = yes
46 | history_length = 20
47 | always_run_script = true
48 | startup_notification = false
49 | verbosity = mesg
50 | corner_radius = 2
51 | force_xinerama = false
52 | mouse_left_click = do_action
53 | mouse_middle_click = close_all
54 | mouse_right_click = close_current
55 |
56 |
57 | [shortcuts]
58 | close = ctrl+space
59 | history = ctrl+shift+space
60 | context = ctrl+shift+period
61 |
62 |
63 | [urgency_low]
64 | # IMPORTANT: colors have to be defined in quotation marks.
65 | # Otherwise the '#' and following would be interpreted as a comment.
66 | background = "#303446"
67 | foreground = "#C6D0F5"
68 | timeout = 3
69 |
70 |
71 | [urgency_normal]
72 | background = "#303446"
73 | foreground = "#C6D0F5"
74 | timeout = 3
75 |
76 |
77 | [urgency_critical]
78 | background = "#303446"
79 | foreground = "#C6D0F5"
80 | frame_color = "#EF9F76"
81 | timeout = 0
82 |
--------------------------------------------------------------------------------
/config/dunst/dunstrc-nord:
--------------------------------------------------------------------------------
1 | #
2 | # ____ _ _ _
3 | # | _ \ _ _ _ __ ___| |_ __| |_ _ _ __ ___| |_ _ __ ____
4 | # | | | | | | | '_ \/ __| __| _____ / _` | | | | '_ \/ __| __| '__/ ___|
5 | # | |_| | |_| | | | \__ \ |_ |_____| | (_| | |_| | | | \__ \ |_| | | (___
6 | # |____/ \__,_|_| |_|___/\__| \__,_|\__,_|_| |_|___/\__|_| \____|
7 | #
8 | #
9 |
10 | #
11 |
12 |
13 | [global]
14 | monitor = 0
15 | follow = mouse
16 | geometry = "320x6-30+60"
17 | indicate_hidden = yes
18 | shrink = no
19 | notification_height = 15
20 | separator_height = 1
21 | padding = 10
22 | horizontal_padding = 10
23 | frame_width = 0
24 | frame_color = "#232323"
25 | separator_color = frame
26 | sort = yes
27 | idle_threshold = 120
28 | # font = PingFang SC 12
29 | font = monospace Bold 12
30 | line_height = 0
31 | markup = full
32 | format = "%s %p\n%b"
33 | alignment = left
34 | show_age_threshold = 60
35 | word_wrap = yes
36 | ellipsize = middle
37 | ignore_newline = no
38 | stack_duplicates = true
39 | hide_duplicate_count = false
40 | show_indicators = yes
41 | icon_position = left
42 | max_icon_size = 48
43 | icon_path = /home/charles/.local/share/icons/Nordic-Darker/status/16/:/home/charles/.local/share/icons/Nordic-Darker/devices/16/:/home/charles/.local/share/icons/Nordic-Darker/apps/scalable/
44 | # icon_path = /usr/share/icons/Arc/status/48/:/usr/share/icons/Arc/devices/48/:/usr/share/icons/Papirus/48x48/apps/
45 | sticky_history = yes
46 | history_length = 20
47 | always_run_script = true
48 | startup_notification = false
49 | verbosity = mesg
50 | corner_radius = 2
51 | force_xinerama = false
52 | mouse_left_click = do_action
53 | mouse_middle_click = close_all
54 | mouse_right_click = close_current
55 |
56 |
57 | [shortcuts]
58 | close = ctrl+space
59 | history = ctrl+shift+space
60 | context = ctrl+shift+period
61 |
62 |
63 | [urgency_low]
64 | # IMPORTANT: colors have to be defined in quotation marks.
65 | # Otherwise the '#' and following would be interpreted as a comment.
66 | background="#2e3440"
67 | foreground="#d8dee9"
68 | timeout = 3
69 |
70 |
71 | [urgency_normal]
72 | background="#2e3440"
73 | foreground="#d8dee9"
74 | timeout = 3
75 |
76 |
77 | [urgency_critical]
78 | background="#2e3440"
79 | foreground="#d8dee9"
80 | timeout = 0
81 |
--------------------------------------------------------------------------------
/config/fcitx5/conf/classicui-cat.conf:
--------------------------------------------------------------------------------
1 | # https://github.com/catppuccin/fcitx5
2 | Theme=catppuccin-frappe
3 |
--------------------------------------------------------------------------------
/config/fcitx5/conf/classicui-nord.conf:
--------------------------------------------------------------------------------
1 | ## https://github.com/tonyfettes/fcitx5-nord
2 | Theme=Nord-Dark
3 |
--------------------------------------------------------------------------------
/config/fcitx5/conf/classicui.conf:
--------------------------------------------------------------------------------
1 | ## https://github.com/tonyfettes/fcitx5-nord
2 | Theme=Nord-Dark
3 |
--------------------------------------------------------------------------------
/config/fcitx5/conf/notifications.conf:
--------------------------------------------------------------------------------
1 | # Hidden Notifications
2 | HiddenNotifications=
3 |
4 |
--------------------------------------------------------------------------------
/config/fcitx5/config:
--------------------------------------------------------------------------------
1 | [Hotkey]
2 | # Enumerate when press trigger key repeatedly
3 | EnumerateWithTriggerKeys=True
4 | # Skip first input method while enumerating
5 | EnumerateSkipFirst=False
6 |
7 | [Hotkey/TriggerKeys]
8 | 0=Control+space
9 | 1=Zenkaku_Hankaku
10 | 2=Hangul
11 |
12 | [Hotkey/AltTriggerKeys]
13 | 0=Shift_L
14 |
15 | [Hotkey/EnumerateForwardKeys]
16 | 0=Control+Shift_L
17 |
18 | [Hotkey/EnumerateBackwardKeys]
19 | 0=Control+Shift_R
20 |
21 | [Hotkey/EnumerateGroupForwardKeys]
22 | 0=Super+space
23 |
24 | [Hotkey/EnumerateGroupBackwardKeys]
25 | 0=Shift+Super+space
26 |
27 | [Hotkey/ActivateKeys]
28 | 0=Hangul_Hanja
29 |
30 | [Hotkey/DeactivateKeys]
31 | 0=Hangul_Romaja
32 |
33 | [Hotkey/PrevPage]
34 | 0=Up
35 |
36 | [Hotkey/NextPage]
37 | 0=Down
38 |
39 | [Hotkey/PrevCandidate]
40 | 0=Shift+Tab
41 |
42 | [Hotkey/NextCandidate]
43 | 0=Tab
44 |
45 | [Hotkey/TogglePreedit]
46 | 0=Control+Alt+P
47 |
48 | [Behavior]
49 | # Active By Default
50 | ActiveByDefault=False
51 | # Share Input State
52 | ShareInputState=No
53 | # Show preedit in application
54 | PreeditEnabledByDefault=True
55 | # Show Input Method Information when switch input method
56 | ShowInputMethodInformation=True
57 | # Show Input Method Information when changing focus
58 | showInputMethodInformationWhenFocusIn=False
59 | # Show compact input method information
60 | CompactInputMethodInformation=True
61 | # Show first input method information
62 | ShowFirstInputMethodInformation=True
63 | # Default page size
64 | DefaultPageSize=5
65 | # Override Xkb Option
66 | OverrideXkbOption=False
67 | # Custom Xkb Option
68 | CustomXkbOption=
69 | # Force Enabled Addons
70 | EnabledAddons=
71 | # Force Disabled Addons
72 | DisabledAddons=
73 | # Preload input method to be used by default
74 | PreloadInputMethod=True
75 |
76 |
--------------------------------------------------------------------------------
/config/fcitx5/profile:
--------------------------------------------------------------------------------
1 | [Groups/0]
2 | # Group Name
3 | Name=Default
4 | # Layout
5 | Default Layout=us
6 | # Default Input Method
7 | DefaultIM=rime
8 |
9 | [Groups/0/Items/0]
10 | # Name
11 | Name=keyboard-us
12 | # Layout
13 | Layout=
14 |
15 | [Groups/0/Items/1]
16 | # Name
17 | Name=rime
18 | # Layout
19 | Layout=
20 |
21 | [GroupOrder]
22 | 0=Default
23 |
24 |
--------------------------------------------------------------------------------
/config/gitui/theme-cat.ron:
--------------------------------------------------------------------------------
1 |
2 | (
3 | selected_tab: Reset,
4 | command_fg: Rgb(198, 208, 245),
5 | selection_bg: Rgb(98, 104, 128),
6 | selection_fg: Rgb(198, 208, 245),
7 | cmdbar_bg: Rgb(41, 44, 60),
8 | cmdbar_extra_lines_bg: Rgb(41, 44, 60),
9 | disabled_fg: Rgb(131, 139, 167),
10 | diff_line_add: Rgb(166, 209, 137),
11 | diff_line_delete: Rgb(231, 130, 132),
12 | diff_file_added: Rgb(229, 200, 144),
13 | diff_file_removed: Rgb(234, 153, 156),
14 | diff_file_moved: Rgb(202, 158, 230),
15 | diff_file_modified: Rgb(239, 159, 118),
16 | commit_hash: Rgb(186, 187, 241),
17 | commit_time: Rgb(181, 191, 226),
18 | commit_author: Rgb(133, 193, 220),
19 | danger_fg: Rgb(231, 130, 132),
20 | push_gauge_bg: Rgb(140, 170, 238),
21 | push_gauge_fg: Rgb(48, 52, 70),
22 | tag_fg: Rgb(242, 213, 207),
23 | branch_fg: Rgb(129, 200, 190)
24 | )
25 |
--------------------------------------------------------------------------------
/config/gitui/theme-nord.ron:
--------------------------------------------------------------------------------
1 | (
2 | selected_tab: Reset,
3 | command_fg: Rgb(236,239,244),
4 | selection_bg: Rgb(94,129,172),
5 | selection_fg: Rgb(236,239,244),
6 | cmdbar_bg: Rgb(94,129,172),
7 | cmdbar_extra_lines_bg: Rgb(94,129,172),
8 | disabled_fg: DarkGray,
9 | diff_line_add: Rgb(143,188,187),
10 | diff_line_delete: Rgb(191,97,106),
11 | diff_file_added: Rgb(163,190,140),
12 | diff_file_removed: LightRed,
13 | diff_file_moved: Rgb(180,142,173),
14 | diff_file_modified: Rgb(235,203,139),
15 | commit_hash: Rgb(180,142,173),
16 | commit_time: LightCyan,
17 | commit_author: Rgb(163,190,140),
18 | danger_fg: Rgb(191,97,106),
19 | push_gauge_bg: Rgb(94,129,172),
20 | push_gauge_fg: Reset,
21 | tag_fg: Rgb(180,142,173),
22 | branch_fg: LightYellow,
23 | )
24 |
--------------------------------------------------------------------------------
/config/gitui/theme.ron:
--------------------------------------------------------------------------------
1 | (
2 | selected_tab: Reset,
3 | command_fg: Rgb(236,239,244),
4 | selection_bg: Rgb(94,129,172),
5 | selection_fg: Rgb(236,239,244),
6 | cmdbar_bg: Rgb(94,129,172),
7 | cmdbar_extra_lines_bg: Rgb(94,129,172),
8 | disabled_fg: DarkGray,
9 | diff_line_add: Rgb(143,188,187),
10 | diff_line_delete: Rgb(191,97,106),
11 | diff_file_added: Rgb(163,190,140),
12 | diff_file_removed: LightRed,
13 | diff_file_moved: Rgb(180,142,173),
14 | diff_file_modified: Rgb(235,203,139),
15 | commit_hash: Rgb(180,142,173),
16 | commit_time: LightCyan,
17 | commit_author: Rgb(163,190,140),
18 | danger_fg: Rgb(191,97,106),
19 | push_gauge_bg: Rgb(94,129,172),
20 | push_gauge_fg: Reset,
21 | tag_fg: Rgb(180,142,173),
22 | branch_fg: LightYellow,
23 | )
24 |
--------------------------------------------------------------------------------
/config/gtk-2.0/gtkfilechooser.ini:
--------------------------------------------------------------------------------
1 | [Filechooser Settings]
2 | LocationMode=path-bar
3 | ShowHidden=false
4 | ShowSizeColumn=true
5 | GeometryX=486
6 | GeometryY=147
7 | GeometryWidth=948
8 | GeometryHeight=815
9 | SortColumn=name
10 | SortOrder=ascending
11 | StartupMode=recent
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-backdrop-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-backdrop-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-backdrop-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/close-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-backdrop-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-backdrop-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-backdrop-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximize-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-backdrop-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-backdrop-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-backdrop-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/maximized-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-backdrop-active.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-backdrop-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-backdrop-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/assets/minimize-normal.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/config/gtk-3.0/bookmarks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/config/gtk-3.0/bookmarks
--------------------------------------------------------------------------------
/config/gtk-3.0/colors.css:
--------------------------------------------------------------------------------
1 | @define-color borders_breeze #5f6265;
2 | @define-color content_view_bg_breeze #1b1e20;
3 | @define-color error_color_backdrop_breeze #da4453;
4 | @define-color error_color_breeze #da4453;
5 | @define-color error_color_insensitive_backdrop_breeze #592930;
6 | @define-color error_color_insensitive_breeze #592930;
7 | @define-color insensitive_base_color_breeze #1a1d1f;
8 | @define-color insensitive_base_fg_color_breeze #656768;
9 | @define-color insensitive_bg_color_breeze #282c30;
10 | @define-color insensitive_borders_breeze #3a3d41;
11 | @define-color insensitive_fg_color_breeze #6e7173;
12 | @define-color insensitive_selected_bg_color_breeze #282c30;
13 | @define-color insensitive_selected_fg_color_breeze #6e7173;
14 | @define-color insensitive_unfocused_bg_color_breeze #282c30;
15 | @define-color insensitive_unfocused_fg_color_breeze #6e7173;
16 | @define-color insensitive_unfocused_selected_bg_color_breeze #282c30;
17 | @define-color insensitive_unfocused_selected_fg_color_breeze #6e7173;
18 | @define-color link_color_breeze #1d99f3;
19 | @define-color link_visited_color_breeze #9b59b6;
20 | @define-color success_color_backdrop_breeze #27ae60;
21 | @define-color success_color_breeze #27ae60;
22 | @define-color success_color_insensitive_backdrop_breeze #1e4d34;
23 | @define-color success_color_insensitive_breeze #1e4d34;
24 | @define-color theme_base_color_breeze #1b1e20;
25 | @define-color theme_bg_color_breeze #2a2e32;
26 | @define-color theme_button_background_backdrop_breeze #31363b;
27 | @define-color theme_button_background_backdrop_insensitive_breeze #2f3338;
28 | @define-color theme_button_background_insensitive_breeze #2f3338;
29 | @define-color theme_button_background_normal_breeze #31363b;
30 | @define-color theme_button_decoration_focus_backdrop_breeze #3daee9;
31 | @define-color theme_button_decoration_focus_backdrop_insensitive_breeze #335c72;
32 | @define-color theme_button_decoration_focus_breeze #3daee9;
33 | @define-color theme_button_decoration_focus_insensitive_breeze #335c72;
34 | @define-color theme_button_decoration_hover_backdrop_breeze #3daee9;
35 | @define-color theme_button_decoration_hover_backdrop_insensitive_breeze #335c72;
36 | @define-color theme_button_decoration_hover_breeze #3daee9;
37 | @define-color theme_button_decoration_hover_insensitive_breeze #335c72;
38 | @define-color theme_button_foreground_active_backdrop_breeze #fcfcfc;
39 | @define-color theme_button_foreground_active_backdrop_insensitive_breeze #6e7173;
40 | @define-color theme_button_foreground_active_breeze #fcfcfc;
41 | @define-color theme_button_foreground_active_insensitive_breeze #6e7173;
42 | @define-color theme_button_foreground_backdrop_breeze #fcfcfc;
43 | @define-color theme_button_foreground_backdrop_insensitive_breeze #727679;
44 | @define-color theme_button_foreground_insensitive_breeze #727679;
45 | @define-color theme_button_foreground_normal_breeze #fcfcfc;
46 | @define-color theme_fg_color_breeze #fcfcfc;
47 | @define-color theme_header_background_backdrop_breeze #2a2e32;
48 | @define-color theme_header_background_breeze #31363b;
49 | @define-color theme_header_background_light_breeze #2a2e32;
50 | @define-color theme_header_foreground_backdrop_breeze #fcfcfc;
51 | @define-color theme_header_foreground_breeze #fcfcfc;
52 | @define-color theme_header_foreground_insensitive_backdrop_breeze #fcfcfc;
53 | @define-color theme_header_foreground_insensitive_breeze #fcfcfc;
54 | @define-color theme_hovering_selected_bg_color_breeze #3daee9;
55 | @define-color theme_selected_bg_color_breeze #3daee9;
56 | @define-color theme_selected_fg_color_breeze #fcfcfc;
57 | @define-color theme_text_color_breeze #fcfcfc;
58 | @define-color theme_titlebar_background_backdrop_breeze #2a2e32;
59 | @define-color theme_titlebar_background_breeze #31363b;
60 | @define-color theme_titlebar_background_light_breeze #2a2e32;
61 | @define-color theme_titlebar_foreground_backdrop_breeze #fcfcfc;
62 | @define-color theme_titlebar_foreground_breeze #fcfcfc;
63 | @define-color theme_titlebar_foreground_insensitive_backdrop_breeze #fcfcfc;
64 | @define-color theme_titlebar_foreground_insensitive_breeze #fcfcfc;
65 | @define-color theme_unfocused_base_color_breeze #1b1e20;
66 | @define-color theme_unfocused_bg_color_breeze #2a2e32;
67 | @define-color theme_unfocused_fg_color_breeze #fcfcfc;
68 | @define-color theme_unfocused_selected_bg_color_alt_breeze #1f485e;
69 | @define-color theme_unfocused_selected_bg_color_breeze #1f485e;
70 | @define-color theme_unfocused_selected_fg_color_breeze #fcfcfc;
71 | @define-color theme_unfocused_text_color_breeze #fcfcfc;
72 | @define-color theme_unfocused_view_bg_color_breeze #1a1d1f;
73 | @define-color theme_unfocused_view_text_color_breeze #656768;
74 | @define-color theme_view_active_decoration_color_breeze #3daee9;
75 | @define-color theme_view_hover_decoration_color_breeze #3daee9;
76 | @define-color tooltip_background_breeze #31363b;
77 | @define-color tooltip_border_breeze #64686b;
78 | @define-color tooltip_text_breeze #fcfcfc;
79 | @define-color unfocused_borders_breeze #5f6265;
80 | @define-color unfocused_insensitive_borders_breeze #3a3d41;
81 | @define-color warning_color_backdrop_breeze #f67400;
82 | @define-color warning_color_breeze #f67400;
83 | @define-color warning_color_insensitive_backdrop_breeze #633914;
84 | @define-color warning_color_insensitive_breeze #633914;
85 |
--------------------------------------------------------------------------------
/config/gtk-3.0/gtk.css:
--------------------------------------------------------------------------------
1 | @import 'colors.css';
--------------------------------------------------------------------------------
/config/gtk-3.0/settings-cat.ini:
--------------------------------------------------------------------------------
1 | [Settings]
2 | gtk-application-prefer-dark-theme=true
3 | gtk-button-images=1
4 | gtk-cursor-theme-name=Catppuccin-Frappe-Dark-Cursors
5 | gtk-cursor-theme-size=24
6 | gtk-decoration-layout=icon:minimize,maximize,close
7 | gtk-enable-animations=true
8 | gtk-enable-event-sounds=1
9 | gtk-enable-input-feedback-sounds=1
10 | gtk-font-name=Noto Sans, 10
11 | gtk-icon-theme-name=Nordic-Darker
12 | gtk-menu-images=1
13 | gtk-primary-button-warps-slider=false
14 | gtk-theme-name=Catppuccin-Frappe-Standard-Blue-Dark
15 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
16 | gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
17 | gtk-xft-antialias=1
18 | gtk-xft-hinting=1
19 | gtk-xft-hintstyle=hintfull
20 |
--------------------------------------------------------------------------------
/config/gtk-3.0/settings-nord.ini:
--------------------------------------------------------------------------------
1 | [Settings]
2 | gtk-application-prefer-dark-theme=true
3 | gtk-button-images=1
4 | gtk-cursor-theme-name=Nordic-cursors
5 | gtk-cursor-theme-size=24
6 | gtk-decoration-layout=icon:minimize,maximize,close
7 | gtk-enable-animations=true
8 | gtk-enable-event-sounds=1
9 | gtk-enable-input-feedback-sounds=1
10 | gtk-font-name=Noto Sans, 10
11 | gtk-icon-theme-name=Nordic-Darker
12 | gtk-menu-images=1
13 | gtk-primary-button-warps-slider=false
14 | gtk-theme-name=Nordic-darker-v40
15 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
16 | gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
17 | gtk-xft-antialias=1
18 | gtk-xft-hinting=1
19 | gtk-xft-hintstyle=hintfull
20 |
--------------------------------------------------------------------------------
/config/gtk-3.0/settings.ini:
--------------------------------------------------------------------------------
1 | [Settings]
2 | gtk-application-prefer-dark-theme=true
3 | gtk-button-images=true
4 | gtk-cursor-theme-name=Nordic-cursors
5 | gtk-cursor-theme-size=24
6 | gtk-decoration-layout=icon:minimize,maximize,close
7 | gtk-enable-animations=true
8 | gtk-enable-event-sounds=1
9 | gtk-enable-input-feedback-sounds=1
10 | gtk-font-name=Noto Sans, 10
11 | gtk-icon-theme-name=Zafiro-Nord-Dark-Black
12 | gtk-menu-images=true
13 | gtk-modules=colorreload-gtk-module
14 | gtk-primary-button-warps-slider=false
15 | gtk-theme-name=Nordic-darker-v40
16 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
17 | gtk-toolbar-style=3
18 | gtk-xft-antialias=1
19 | gtk-xft-dpi=98304
20 | gtk-xft-hinting=1
21 | gtk-xft-hintstyle=hintfull
22 |
--------------------------------------------------------------------------------
/config/gtk-4.0/colors.css:
--------------------------------------------------------------------------------
1 | @define-color borders_breeze #5f6265;
2 | @define-color content_view_bg_breeze #1b1e20;
3 | @define-color error_color_backdrop_breeze #da4453;
4 | @define-color error_color_breeze #da4453;
5 | @define-color error_color_insensitive_backdrop_breeze #592930;
6 | @define-color error_color_insensitive_breeze #592930;
7 | @define-color insensitive_base_color_breeze #1a1d1f;
8 | @define-color insensitive_base_fg_color_breeze #656768;
9 | @define-color insensitive_bg_color_breeze #282c30;
10 | @define-color insensitive_borders_breeze #3a3d41;
11 | @define-color insensitive_fg_color_breeze #6e7173;
12 | @define-color insensitive_selected_bg_color_breeze #282c30;
13 | @define-color insensitive_selected_fg_color_breeze #6e7173;
14 | @define-color insensitive_unfocused_bg_color_breeze #282c30;
15 | @define-color insensitive_unfocused_fg_color_breeze #6e7173;
16 | @define-color insensitive_unfocused_selected_bg_color_breeze #282c30;
17 | @define-color insensitive_unfocused_selected_fg_color_breeze #6e7173;
18 | @define-color link_color_breeze #1d99f3;
19 | @define-color link_visited_color_breeze #9b59b6;
20 | @define-color success_color_backdrop_breeze #27ae60;
21 | @define-color success_color_breeze #27ae60;
22 | @define-color success_color_insensitive_backdrop_breeze #1e4d34;
23 | @define-color success_color_insensitive_breeze #1e4d34;
24 | @define-color theme_base_color_breeze #1b1e20;
25 | @define-color theme_bg_color_breeze #2a2e32;
26 | @define-color theme_button_background_backdrop_breeze #31363b;
27 | @define-color theme_button_background_backdrop_insensitive_breeze #2f3338;
28 | @define-color theme_button_background_insensitive_breeze #2f3338;
29 | @define-color theme_button_background_normal_breeze #31363b;
30 | @define-color theme_button_decoration_focus_backdrop_breeze #3daee9;
31 | @define-color theme_button_decoration_focus_backdrop_insensitive_breeze #335c72;
32 | @define-color theme_button_decoration_focus_breeze #3daee9;
33 | @define-color theme_button_decoration_focus_insensitive_breeze #335c72;
34 | @define-color theme_button_decoration_hover_backdrop_breeze #3daee9;
35 | @define-color theme_button_decoration_hover_backdrop_insensitive_breeze #335c72;
36 | @define-color theme_button_decoration_hover_breeze #3daee9;
37 | @define-color theme_button_decoration_hover_insensitive_breeze #335c72;
38 | @define-color theme_button_foreground_active_backdrop_breeze #fcfcfc;
39 | @define-color theme_button_foreground_active_backdrop_insensitive_breeze #6e7173;
40 | @define-color theme_button_foreground_active_breeze #fcfcfc;
41 | @define-color theme_button_foreground_active_insensitive_breeze #6e7173;
42 | @define-color theme_button_foreground_backdrop_breeze #fcfcfc;
43 | @define-color theme_button_foreground_backdrop_insensitive_breeze #727679;
44 | @define-color theme_button_foreground_insensitive_breeze #727679;
45 | @define-color theme_button_foreground_normal_breeze #fcfcfc;
46 | @define-color theme_fg_color_breeze #fcfcfc;
47 | @define-color theme_header_background_backdrop_breeze #2a2e32;
48 | @define-color theme_header_background_breeze #31363b;
49 | @define-color theme_header_background_light_breeze #2a2e32;
50 | @define-color theme_header_foreground_backdrop_breeze #fcfcfc;
51 | @define-color theme_header_foreground_breeze #fcfcfc;
52 | @define-color theme_header_foreground_insensitive_backdrop_breeze #fcfcfc;
53 | @define-color theme_header_foreground_insensitive_breeze #fcfcfc;
54 | @define-color theme_hovering_selected_bg_color_breeze #3daee9;
55 | @define-color theme_selected_bg_color_breeze #3daee9;
56 | @define-color theme_selected_fg_color_breeze #fcfcfc;
57 | @define-color theme_text_color_breeze #fcfcfc;
58 | @define-color theme_titlebar_background_backdrop_breeze #2a2e32;
59 | @define-color theme_titlebar_background_breeze #31363b;
60 | @define-color theme_titlebar_background_light_breeze #2a2e32;
61 | @define-color theme_titlebar_foreground_backdrop_breeze #fcfcfc;
62 | @define-color theme_titlebar_foreground_breeze #fcfcfc;
63 | @define-color theme_titlebar_foreground_insensitive_backdrop_breeze #fcfcfc;
64 | @define-color theme_titlebar_foreground_insensitive_breeze #fcfcfc;
65 | @define-color theme_unfocused_base_color_breeze #1b1e20;
66 | @define-color theme_unfocused_bg_color_breeze #2a2e32;
67 | @define-color theme_unfocused_fg_color_breeze #fcfcfc;
68 | @define-color theme_unfocused_selected_bg_color_alt_breeze #1f485e;
69 | @define-color theme_unfocused_selected_bg_color_breeze #1f485e;
70 | @define-color theme_unfocused_selected_fg_color_breeze #fcfcfc;
71 | @define-color theme_unfocused_text_color_breeze #fcfcfc;
72 | @define-color theme_unfocused_view_bg_color_breeze #1a1d1f;
73 | @define-color theme_unfocused_view_text_color_breeze #656768;
74 | @define-color theme_view_active_decoration_color_breeze #3daee9;
75 | @define-color theme_view_hover_decoration_color_breeze #3daee9;
76 | @define-color tooltip_background_breeze #31363b;
77 | @define-color tooltip_border_breeze #64686b;
78 | @define-color tooltip_text_breeze #fcfcfc;
79 | @define-color unfocused_borders_breeze #5f6265;
80 | @define-color unfocused_insensitive_borders_breeze #3a3d41;
81 | @define-color warning_color_backdrop_breeze #f67400;
82 | @define-color warning_color_breeze #f67400;
83 | @define-color warning_color_insensitive_backdrop_breeze #633914;
84 | @define-color warning_color_insensitive_breeze #633914;
85 |
--------------------------------------------------------------------------------
/config/gtk-4.0/settings.ini:
--------------------------------------------------------------------------------
1 | [Settings]
2 | gtk-application-prefer-dark-theme=true
3 | gtk-cursor-theme-name=Nordic-cursors
4 | gtk-cursor-theme-size=24
5 | gtk-decoration-layout=icon:minimize,maximize,close
6 | gtk-enable-animations=true
7 | gtk-font-name=Noto Sans, 10
8 | gtk-icon-theme-name=Zafiro-Nord-Dark-Black
9 | gtk-modules=colorreload-gtk-module
10 | gtk-primary-button-warps-slider=false
11 | gtk-theme-name=Nordic-darker-v40
12 | gtk-xft-dpi=98304
13 |
--------------------------------------------------------------------------------
/config/i3/brightness.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Change below to suit your system
4 | BACKLIGHT="/sys/class/backlight/amdgpu_bl0"
5 | BRIGHTNESS="$BACKLIGHT/brightness"
6 | MAX_BRIGHTNESS=$(cat "$BACKLIGHT/max_brightness")
7 |
8 | inotifywait -m -e modify "$BRIGHTNESS" \
9 | | while IFS= read -r line; do cat $BRIGHTNESS; done \
10 | | xob -m "$MAX_BRIGHTNESS"
11 |
--------------------------------------------------------------------------------
/config/i3/cat.sh:
--------------------------------------------------------------------------------
1 | feh ~/Pictures/cutppuccin.png --bg-fill
2 |
3 | cp ~/.config/alacritty/alacritty-cat.yml ~/.config/alacritty/alacritty.yml
4 |
5 | cp ~/.config/nvim/lua/user/colorscheme-cat.lua ~/.config/nvim/lua/user/colorscheme.lua
6 |
7 | cp ~/.config/nvim/lua/user/lualine-cat.lua ~/.config/nvim/lua/user/lualine.lua
8 |
9 | cp ~/.gtkrc-2.0-cat ~/.gtkrc-2.0
10 |
11 | cp ~/.config/bat/config-cat ~/.config/bat/config
12 |
13 | cp ~/.config/bottom/bottom-cat.toml ~/.config/bottom/bottom.toml
14 |
15 | cp ~/.config/dunst/dunstrc-cat ~/.config/dunst/dunstrc
16 |
17 | cp ~/.config/fcitx5/conf/classicui-cat.conf ~/.config/fcitx5/conf/classicui.conf
18 |
19 | cp ~/.config/gitui/theme-cat.ron ~/.config/gitui/theme.ron
20 |
21 | cp ~/.config/gtk-3.0/settings-cat.ini ~/.config/gtk-3.0/settings.ini
22 |
23 | cp ~/.config/gtk-4.0/gtk-dark-cat.css ~/.config/gtk-4.0/gtk-dark.css
24 |
25 | cp ~/.config/gtk-4.0/gtk-cat.css ~/.config/gtk-4.0/gtk.css
26 |
27 | cp ~/.config/polybar/config-cat.ini ~/.config/polybar/config.ini
28 |
29 | sh ~/.config/polybar/launch.sh
30 |
31 | cp ~/.config/rofi/config-cat.rasi ~/.config/rofi/config.rasi
32 |
33 | cp ~/.config/zathura/zathurarc-cat ~/.config/zathura/zathurarc
34 |
35 | cp ~/.config/xob/styles-cat.cfg ~/.config/xob/styles.cfg
36 |
37 | cp ~/.config/Kvantum/kvantum-cat.kvconfig ~/.config/Kvantum/kvantum.kvconfig
38 |
39 | pkill fcitx5
40 |
41 | fcitx5 & diswon
42 |
43 | pkill xob
44 |
45 | sh ~/.config/i3/start.sh
46 |
47 | pkill dunst
48 |
--------------------------------------------------------------------------------
/config/i3/gummy.sh:
--------------------------------------------------------------------------------
1 | gummy start
2 |
--------------------------------------------------------------------------------
/config/i3/lock.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | blank='#00000000' # blank
4 | #background='#1A6785FF'
5 | background='#2e3440'
6 | foreground='#D8DEE9FF' # text
7 |
8 | primary='#4c566a' # default
9 | alert='#81a1c1' # wrong
10 | verifying='#A3BE8CFF' # verifying
11 |
12 | i3lock \
13 | --color=$background \
14 | \
15 | --screen \
16 | --indicator \
17 | --keylayout \
18 | --force-clock \
19 | \
20 | --insidever-color=$background \
21 | --insidewrong-color=$background \
22 | --inside-color=$background \
23 | \
24 | --ringver-color=$primary \
25 | --ringwrong-color=$alert \
26 | --ring-color=$primary \
27 | \
28 | --line-color=$primary \
29 | --line-uses-inside \
30 | \
31 | --keyhl-color=$alert \
32 | --bshl-color=$alert \
33 | \
34 | --separator-color=$primary \
35 | \
36 | --verif-color=$foreground \
37 | --wrong-color=$foreground \
38 | --time-color=$foreground \
39 | --date-color=$foreground \
40 | --layout-color=$foreground \
41 | \
42 | --time-align=0 \
43 | --date-align=0 \
44 | --layout-align=0 \
45 | --verif-align=0 \
46 | --wrong-align=0 \
47 | --modif-align=0 \
48 | \
49 | # --blur 5 \
50 | --indicator \
51 | --keylayout 2 \
52 | \
53 | --verif-text="" \
54 | --wrong-text="" \
55 | # --clock \
56 | # --timestr="%H:%M:%S" \
57 | # --line-uses-inside \
58 | # --datestr="%A, %m %Y" \
59 | # --textsize=20
60 | # --modsize=10
61 | #--time-font=noto-sans \
62 | #--datefont=noto-sans \
63 | # etc
64 |
65 |
--------------------------------------------------------------------------------
/config/i3/mon.sh:
--------------------------------------------------------------------------------
1 | xrandr --output HDMI-A-0 --same-as eDP &
2 |
--------------------------------------------------------------------------------
/config/i3/nord.sh:
--------------------------------------------------------------------------------
1 | feh ~/Pictures/nord1.png --bg-fill
2 |
3 | cp ~/.config/alacritty/alacritty-nord.yml ~/.config/alacritty/alacritty.yml
4 |
5 | cp ~/.config/nvim/lua/user/colorscheme-nord.lua ~/.config/nvim/lua/user/colorscheme.lua
6 |
7 | cp ~/.config/nvim/lua/user/lualine-nord.lua ~/.config/nvim/lua/user/lualine.lua
8 |
9 | cp ~/.gtkrc-2.0-nord ~/.gtkrc-2.0
10 |
11 | cp ~/.config/bat/config-nord ~/.config/bat/config
12 |
13 | cp ~/.config/bottom/bottom-nord.toml ~/.config/bottom/bottom.toml
14 |
15 | cp ~/.config/dunst/dunstrc-nord ~/.config/dunst/dunstrc
16 |
17 | cp ~/.config/fcitx5/conf/classicui-nord.conf ~/.config/fcitx5/conf/classicui.conf
18 |
19 | cp ~/.config/gitui/theme-nord.ron ~/.config/gitui/theme.ron
20 |
21 | cp ~/.config/gtk-3.0/settings-nord.ini ~/.config/gtk-3.0/settings.ini
22 |
23 | cp ~/.config/gtk-4.0/gtk-dark-nord.css ~/.config/gtk-4.0/gtk-dark.css
24 |
25 | cp ~/.config/gtk-4.0/gtk-nord.css ~/.config/gtk-4.0/gtk.css
26 |
27 | cp ~/.config/polybar/config-nord.ini ~/.config/polybar/config.ini
28 |
29 | sh ~/.config/polybar/launch.sh
30 |
31 | cp ~/.config/rofi/config-nord.rasi ~/.config/rofi/config.rasi
32 |
33 | cp ~/.config/zathura/zathurarc-nord ~/.config/zathura/zathurarc
34 |
35 | cp ~/.config/xob/styles-nord.cfg ~/.config/xob/styles.cfg
36 |
37 | cp ~/.config/Kvantum/kvantum-nord.kvconfig ~/.config/Kvantum/kvantum.kvconfig
38 |
39 | pkill fcitx5
40 |
41 | fcitx5 & diswon
42 |
43 | pkill xob
44 |
45 | sh ~/.config/i3/start.sh
46 |
47 | pkill dunst
48 |
--------------------------------------------------------------------------------
/config/i3/start.sh:
--------------------------------------------------------------------------------
1 | sh /home/charles/.config/i3/volume.sh &
2 |
3 | sh /home/charles/.config/i3/brightness.sh &
4 |
--------------------------------------------------------------------------------
/config/i3/volume.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Wait for amixer to become available
4 | until [ "$(amixer)" ]; do sleep 0.1; done
5 |
6 | # `amixer events` always emits 1 event from the start, so we must skip it
7 | skip=1
8 | stdbuf -oL amixer events |
9 | while IFS= read -r line; do
10 | case ${line%%,*} in
11 | ('event value: numid='[34])
12 | if [ "$skip" -eq 0 ]; then
13 | # The `0+$2` below is to remove the '%' sign
14 | # amixer sget Master |
15 | # awk -F'[][]' '/Left:/ {print 0+$2 ($4 == "off" ? "!" : "")}'
16 |
17 | # Using Pipewire/Wireplumber:
18 | wpctl get-volume @DEFAULT_AUDIO_SINK@ |
19 | awk '{ gsub(/\./, "", $2); print $2 ($3 == "[MUTED]" ? "!" : "")}'
20 | else
21 | skip=$(( skip - 1 ))
22 | fi
23 | esac
24 | done | xob
25 |
--------------------------------------------------------------------------------
/config/networkmanager-dmenu/config.ini:
--------------------------------------------------------------------------------
1 |
2 | [dmenu]
3 | # dmenu_command = /usr/bin/dmenu
4 | dmenu_command = rofi -dmenu -l 10
5 | # # Note that dmenu_command can contain arguments as well like:
6 | # # `dmenu_command = rofi -dmenu -i -theme nmdm`
7 | # # `dmenu_command = rofi -dmenu -width 30 -i`
8 | # dmenu_command = rofi -dmenu -width 30 -i
9 | # dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030
10 | # rofi_highlight = # (Default: False) use rofi highlighting instead of '=='
11 | # compact = # (Default: False). Remove extra spacing from display
12 | # compact = False
13 | compact = False
14 | # pinentry = # (Default: None) e.g. `pinentry-gtk`
15 | # wifi_chars =
16 | # wifi_chars = ▂▄▆█
17 | # list_saved = # (Default: False) list saved connections
18 |
19 | [dmenu_passphrase]
20 | # # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and
21 | # # -nf to the same color or uses -P if the dmenu password patch is applied
22 | # # https://tools.suckless.org/dmenu/patches/password/
23 | # obscure = True
24 | # obscure_color = #222222
25 |
26 | [editor]
27 | # terminal =
28 | # gui_if_available = (Default: True)
29 |
--------------------------------------------------------------------------------
/config/nvim/after/ftplugin/rust.lua:
--------------------------------------------------------------------------------
1 | local bufnr = vim.api.nvim_get_current_buf()
2 | vim.keymap.set(
3 | "n",
4 | "a",
5 | function()
6 | vim.cmd.RustLsp('codeAction') -- supports rust-analyzer's grouping
7 | -- or vim.lsp.buf.codeAction() if you don't want grouping.
8 | end,
9 | { silent = true, buffer = bufnr }
10 | )
11 | vim.keymap.set(
12 | "n",
13 | "K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions
14 | function()
15 | vim.cmd.RustLsp({'hover', 'actions'})
16 | end,
17 | { silent = true, buffer = bufnr }
18 | )
19 |
--------------------------------------------------------------------------------
/config/nvim/init.lua:
--------------------------------------------------------------------------------
1 | vim.loader.enable()
2 | vim.g.loaded_netrw = 1
3 | vim.g.loaded_netrwPlugin = 1
4 | vim.opt.termguicolors = true
5 |
6 |
7 | vim.diagnostic.config({
8 | signs = { text = { [vim.diagnostic.severity.WARN] = "cahac", ... } },
9 | })
10 |
11 | require("user.lazy")
12 | require("user.options")
13 | require("user.keymaps")
14 |
--------------------------------------------------------------------------------
/config/nvim/lazy-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
3 | "LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" },
4 | "alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
5 | "bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" },
6 | "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
7 | "catppuccin": { "branch": "main", "commit": "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d" },
8 | "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
9 | "cmp-latex-symbols": { "branch": "main", "commit": "86b68e6d6c550442d4a3f826e1b8358c5300824c" },
10 | "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
11 | "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
12 | "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
13 | "cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
14 | "cmp-treesitter": { "branch": "master", "commit": "c8e3a74b51597d69d240085a258636972ce98e15" },
15 | "cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" },
16 | "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
17 | "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
18 | "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
19 | "fzy-lua-native": { "branch": "master", "commit": "9d720745d5c2fb563c0d86c17d77612a3519c506" },
20 | "guard-collection": { "branch": "main", "commit": "7e87ae9c3758221ec6dbd24bb44ee8ff400f3940" },
21 | "guard.nvim": { "branch": "main", "commit": "37e2a5bcc10169b78537f7279afe6bdca85c3446" },
22 | "image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" },
23 | "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
24 | "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
25 | "lsp_signature.nvim": { "branch": "master", "commit": "d50e40b3bf9324128e71b0b7e589765ce89466d2" },
26 | "lspsaga.nvim": { "branch": "main", "commit": "920b1253e1a26732e53fac78412f6da7f674671d" },
27 | "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
28 | "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
29 | "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
30 | "nvim-bufdel": { "branch": "main", "commit": "523d58e94e7212fff3e05c247b962dc8f93bcfde" },
31 | "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
32 | "nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
33 | "nvim-hlslens": { "branch": "main", "commit": "1e650c136f9f9d5fefe34947ad27c80010d3321f" },
34 | "nvim-lspconfig": { "branch": "master", "commit": "8adb3b5938f6074a1bcc36d3c3916f497d2e8ec4" },
35 | "nvim-spider": { "branch": "main", "commit": "99df646eab60df0b948dd2532ef5f5512707a9a4" },
36 | "nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
37 | "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
38 | "nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
39 | "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
40 | "nvim-ufo": { "branch": "main", "commit": "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08" },
41 | "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
42 | "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
43 | "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
44 | "render-markdown.nvim": { "branch": "main", "commit": "dd620561843d5a62c917fffe77f2923c965d12c7" },
45 | "rustaceanvim": { "branch": "master", "commit": "5120207f90846704a74cbf043295698b009bd5de" },
46 | "statuscol.nvim": { "branch": "main", "commit": "c46172d0911aa5d49ba5f39f4351d1bb7aa289cc" },
47 | "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
48 | "telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
49 | "telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
50 | "telescope-thesaurus.nvim": { "branch": "master", "commit": "0bd7f7c2ce67c8b86b98b80dd42ec597bea72c7c" },
51 | "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
52 | "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
53 | "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
54 | "typst.vim": { "branch": "main", "commit": "323539709e29a537ff39dfce6c05f175a8921504" },
55 | "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
56 | "vim-matchup": { "branch": "master", "commit": "56c714495ec7f40cf2c7e92fb124067c7951e650" },
57 | "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
58 | "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" }
59 | }
60 |
--------------------------------------------------------------------------------
/config/nvim/lua/.luarc.json:
--------------------------------------------------------------------------------
1 | {
2 | "diagnostics.disable": [
3 | "different-requires"
4 | ],
5 | "diagnostics.globals": [
6 | "vim"
7 | ]
8 | }
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/autopairs.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local npairs = require("nvim-autopairs")
3 | npairs.setup {
4 | check_ts = true,
5 | ts_config = {
6 | lua = { "string", "source" },
7 | javascript = { "string", "template_string" },
8 | java = false,
9 | },
10 | disable_filetype = { "TelescopePrompt", "spectre_panel" },
11 | fast_wrap = {
12 | map = "",
13 | chars = { "{", "[", "(", '"', "'" },
14 | pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
15 | offset = 0, -- Offset from pattern match
16 | end_key = "$",
17 | keys = "qwertyuiopzxcvbnmasdfghjkl",
18 | check_comma = true,
19 | highlight = "PmenuSel",
20 | highlight_grey = "LineNr",
21 | },
22 | }
23 |
24 | local cmp_autopairs = require "nvim-autopairs.completion.cmp"
25 | local cmp_status_ok, cmp = pcall(require, "cmp")
26 | if not cmp_status_ok then
27 | return
28 | end
29 | cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
30 | end
31 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/cmp.lua:
--------------------------------------------------------------------------------
1 | -- find more here: https://www.nerdfonts.com/cheat-sheet
2 | return function()
3 | local cmp = require("cmp")
4 | local luasnip = require("luasnip")
5 | local icons = {
6 | kind = require("user.ui.icons").get("kind"),
7 | type = require("user.ui.icons").get("type"),
8 | cmp = require("user.ui.icons").get("cmp"),
9 | }
10 | cmp.setup({
11 | sorting = {
12 | comparators = {
13 | cmp.config.compare.offset,
14 | cmp.config.compare.exact,
15 | cmp.config.compare.recently_used,
16 | --[[ require("clangd_extensions.cmp_scores"), ]]
17 | cmp.config.compare.score,
18 | require("cmp-under-comparator").under,
19 | cmp.config.compare.kind,
20 | cmp.config.compare.sort_text,
21 | cmp.config.compare.length,
22 | cmp.config.compare.order,
23 | },
24 | },
25 | snippet = {
26 | expand = function(args)
27 | luasnip.lsp_expand(args.body) -- For `luasnip` users.
28 | end,
29 | },
30 | mapping = {
31 | [""] = cmp.mapping.select_prev_item(),
32 | [""] = cmp.mapping.select_next_item(),
33 | [""] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
34 | [""] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
35 | [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
36 | [""] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping.
37 | [""] = cmp.mapping({
38 | i = cmp.mapping.abort(),
39 | c = cmp.mapping.close(),
40 | }),
41 | -- Accept currently selected item. If none selected, `select` first item.
42 | -- Set `select` to `false` to only confirm explicitly selected items.
43 | [""] = cmp.mapping.confirm({ select = true }),
44 | [""] = cmp.mapping(function(fallback)
45 | if cmp.visible() then
46 | cmp.select_next_item()
47 | elseif luasnip.expandable() then
48 | luasnip.expand()
49 | elseif luasnip.expand_or_jumpable() then
50 | luasnip.expand_or_jump()
51 | else
52 | fallback()
53 | end
54 | end, {
55 | "i",
56 | "s",
57 | }),
58 | [""] = cmp.mapping(function(fallback)
59 | if cmp.visible() then
60 | cmp.select_prev_item()
61 | elseif luasnip.jumpable(-1) then
62 | luasnip.jump(-1)
63 | else
64 | fallback()
65 | end
66 | end, {
67 | "i",
68 | "s",
69 | }),
70 | },
71 | formatting = {
72 | fields = { "kind", "abbr", "menu" },
73 | format = function(entry, vim_item)
74 | -- Kind icons
75 | --[[ vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) ]]
76 |
77 | local lspkind_icons = vim.tbl_deep_extend("force", icons.kind, icons.type, icons.cmp)
78 | -- load lspkind icons
79 | vim_item.kind =
80 | string.format("%s %s", lspkind_icons[vim_item.kind] or icons.cmp.undefined, vim_item.kind or "")
81 | -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
82 | vim_item.menu = ({
83 | nvim_lsp = "[LSP]",
84 | nvim_lua = "[NVIM_LUA]",
85 | luasnip = "[Snippet]",
86 | buffer = "[Buffer]",
87 | path = "[Path]",
88 | spell = "[SPELL]",
89 | latex_symbols = "[LTEX]",
90 | treesitter = "[TS]",
91 | })[entry.source.name]
92 | return vim_item
93 | end,
94 | },
95 | sources = {
96 | { name = "nvim_lsp" },
97 | { name = "nvim_lua" },
98 | { name = "luasnip" },
99 | { name = "buffer" },
100 | { name = "path" },
101 | { name = "treesitter" },
102 | { name = "spell" },
103 | { name = "latex_symbols" },
104 | },
105 | confirm_opts = {
106 | behavior = cmp.ConfirmBehavior.Replace,
107 | select = false,
108 | },
109 | window = {
110 | documentation = {
111 | border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
112 | },
113 | },
114 | experimental = {
115 | ghost_text = false,
116 | native_menu = false,
117 | },
118 | })
119 | end
120 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/guard.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | --[[ require("guard").setup({ ]]
3 | --[[ -- the only options for the setup function ]]
4 | --[[ fmt_on_save = false, ]]
5 | --[[ -- Use lsp if no formatter was defined for this filetype ]]
6 | --[[ lsp_as_default_formatter = false, ]]
7 | --[[ }) ]]
8 | local ft_gu = require("guard.filetype")
9 | vim.g.guard_config = {
10 | -- format on write to buffer
11 | fmt_on_save = false,
12 | -- use lsp if no formatter was defined for this filetype
13 | lsp_as_default_formatter = false,
14 | -- whether or not to save the buffer after formatting
15 | save_on_fmt = false,
16 | }
17 |
18 | ft_gu("c")
19 | :fmt({
20 | cmd = "clang-format",
21 | args = { "--style=Google" },
22 | stdin = true,
23 | })
24 | :lint("clang-tidy")
25 | ft_gu("cpp")
26 | :fmt({
27 | cmd = "clang-format",
28 | args = { "--style=Google" },
29 | stdin = true,
30 | })
31 | :lint("clang-tidy")
32 | ft_gu("cuda"):fmt({
33 | cmd = "clang-format",
34 | args = { "--style=Microsoft" },
35 | stdin = true,
36 | })
37 |
38 | ft_gu("typescript,javascript,typescriptreact,markdown,html,json,jsonc,vue"):fmt("prettier")
39 | ft_gu("rust"):fmt("rustfmt")
40 | ft_gu("python"):fmt("ruff"):lint("ruff")
41 | ft_gu("lua"):fmt("stylua")
42 | ft_gu("bash"):fmt("shfmt")
43 | ft_gu("java"):fmt("google-java-format")
44 |
45 | ft_gu("go"):fmt("gofmt")
46 | end
47 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/handlersmason.lua:
--------------------------------------------------------------------------------
1 | local M = {}
2 |
3 | local status_cmp_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
4 | if not status_cmp_ok then
5 | return
6 | end
7 |
8 | M.capabilities = vim.lsp.protocol.make_client_capabilities()
9 | M.capabilities.textDocument.completion.completionItem.snippetSupport = true
10 | M.capabilities = cmp_nvim_lsp.default_capabilities(M.capabilities)
11 |
12 | M.setup = function()
13 | local signs = {
14 | { name = "DiagnosticSignError", text = "" },
15 | { name = "DiagnosticSignWarn", text = "" },
16 | { name = "DiagnosticSignHint", text = "" },
17 | { name = "DiagnosticSignInfo", text = "" },
18 | }
19 | --[[]]
20 | --[[ for _, sign in ipairs(signs) do ]]
21 | --[[ vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" }) ]]
22 | --[[ end ]]
23 |
24 | local config = {
25 | virtual_text = false, -- disable virtual text
26 | signs = {
27 | text = {
28 | [vim.diagnostic.severity.ERROR] = "",
29 | [vim.diagnostic.severity.WARN] = "",
30 | [vim.diagnostic.severity.INFO] = "",
31 | [vim.diagnostic.severity.HINT] = "",
32 | },
33 | },
34 | update_in_insert = true,
35 | underline = true,
36 | severity_sort = true,
37 | float = {
38 | focusable = true,
39 | style = "minimal",
40 | border = "rounded",
41 | source = "always",
42 | header = "",
43 | prefix = "",
44 | },
45 | }
46 |
47 | vim.diagnostic.config(config)
48 |
49 | vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
50 | border = "rounded",
51 | })
52 |
53 | vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
54 | border = "rounded",
55 | })
56 | end
57 |
58 | M.on_attach = function(client, bufnr)
59 | if client.name == "tsserver" then
60 | client.server_capabilities.documentFormattingProvider = false
61 | end
62 |
63 | if client.name == "sumneko_lua" then
64 | client.server_capabilities.documentFormattingProvider = false
65 | end
66 |
67 | --[[ lsp_keymaps(bufnr) ]]
68 | local status_ok, illuminate = pcall(require, "illuminate")
69 | if not status_ok then
70 | return
71 | end
72 | illuminate.on_attach(client)
73 | end
74 |
75 | --[[ require('goto-preview').setup {} ]]
76 | --[[ vim.keymap.set("n", "gp", "lua require('goto-preview').goto_preview_definition()", {noremap=true}) ]]
77 | --[[]]
78 | return M
79 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/installlsp:
--------------------------------------------------------------------------------
1 | npm i -g vscode-langservers-extracted
2 |
3 | yay -S clangd
4 |
5 | yay -S cmake-language-server
6 |
7 | yay -S jdtls
8 |
9 | yay -S jedi-language-server
10 |
11 | yay -S lua-language-server
12 |
13 | yay -S marksman
14 |
15 | yay -S pyright
16 |
17 | yay -S python-lsp-server
18 |
19 | r :install.packages("languageserver")
20 |
21 | yay -S rust-analyzer
22 |
23 | yay -S texlab
24 |
25 | npm i -g grammarly-languageserver
26 |
27 | yay typst-lsp
28 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/lsp-sign.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local opts = {
3 | bind = true,
4 | -- TODO: Remove the following line when nvim-cmp#1613 gets resolved
5 | check_completion_visible = false,
6 | floating_window = true,
7 | floating_window_above_cur_line = true,
8 | hi_parameter = "Search",
9 | hint_enable = true,
10 | transparency = nil, -- disabled by default, allow floating win transparent value 1~100
11 | wrap = true,
12 | zindex = 45, -- avoid overlap with nvim.cmp
13 | handler_opts = { border = "single" },
14 | }
15 | require("lsp_signature").setup(opts)
16 | end
17 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/lsp.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | require("lspconfig").html.setup({})
3 | require("user.cmp.handlersmason").setup()
4 | require("lspconfig").clangd.setup({})
5 | --[[ require("lspconfig").ccls.setup({}) ]]
6 | require("lspconfig").cmake.setup({})
7 | require("lspconfig").jdtls.setup({})
8 | --[[ require 'lspconfig'.jedi_language_server.setup {} ]]
9 | require("lspconfig").lua_ls.setup({})
10 | require("lspconfig").marksman.setup({})
11 | require("lspconfig").pyright.setup({})
12 | --[[ require("lspconfig").jedi_language_server.setup({}) ]]
13 | --[[ require 'lspconfig'.pylsp.setup {} ]]
14 | require("lspconfig").r_language_server.setup({})
15 | require("lspconfig").cssls.setup({
16 |
17 | single_file_support = true,
18 | })
19 | require("lspconfig").texlab.setup({
20 | --[[ cmd = { "/home/charles/SourceFile/bin/texlab" }, ]]
21 | })
22 |
23 | --[[ require("lspconfig").grammarly.setup({ ]]
24 | --[[ cmd = { "grammarly-languageserver", "--stdio" }, ]]
25 | --[[ filetypes = { "tex", "markdown", "text" }, ]]
26 | --[[ init_options = { ]]
27 | --[[ clientId = "client_BaDkMgx4X19X9UxxYRCXZo", ]]
28 | --[[ }, ]]
29 | --[[ single_file_support = true, ]]
30 | --[[ root_dir = util.find_git_ancestor, ]]
31 | --[[ }) ]]
32 |
33 | require("lspconfig").tinymist.setup({})
34 | --[[ require("lspconfig").rust_analyzer.setup({ ]]
35 | --[[ }) ]]
36 |
37 | require("lspconfig").ruff.setup({
38 | init_options = {
39 | settings = {
40 | -- Any extra CLI arguments for `ruff` go here.
41 | args = {},
42 | },
43 | },
44 | })
45 |
46 | require("lspconfig").r_language_server.setup({})
47 | require("lspconfig").gopls.setup({})
48 | end
49 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/lspsaga.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | --[[ require("modules.utils").gen_lspkind_hl() ]]
3 |
4 | local icons = {
5 | cmp = require("user.ui.icons").get("cmp", true),
6 | diagnostics = require("user.ui.icons").get("diagnostics", true),
7 | kind = require("user.ui.icons").get("kind", true),
8 | type = require("user.ui.icons").get("type", true),
9 | ui = require("user.ui.icons").get("ui", true),
10 | }
11 |
12 | local function set_sidebar_icons()
13 | vim.diagnostic.config({
14 | signs = {
15 | text = {
16 | [vim.diagnostic.severity.ERROR] = "",
17 | [vim.diagnostic.severity.WARN] = "",
18 | [vim.diagnostic.severity.INFO] = "",
19 | [vim.diagnostic.severity.HINT] = "",
20 | },
21 | },
22 | })
23 | end
24 |
25 | set_sidebar_icons()
26 |
27 | require("lspsaga").setup({
28 | -- Breadcrumbs: https://dev.neovim.pro/lspsaga/breadcrumbs/
29 | symbol_in_winbar = {
30 | enable = true,
31 | separator = " " .. icons.ui.Separator,
32 | hide_keyword = false,
33 | show_file = false,
34 | folder_level = 1,
35 | color_mode = true,
36 | delay = 100,
37 | },
38 | -- https://dev.neovim.pro/lspsaga/callhierarchy/
39 | callhierarchy = {
40 | layout = "float",
41 | --[[ keys = { ]]
42 | --[[ edit = "e", ]]
43 | --[[ vsplit = "v", ]]
44 | --[[ split = "s", ]]
45 | --[[ tabe = "t", ]]
46 | --[[ quit = "q", ]]
47 | --[[ shuttle = "[]", ]]
48 | --[[ toggle_or_req = "u", ]]
49 | --[[ close = "", ]]
50 | --[[ }, ]]
51 | },
52 | -- https://dev.neovim.pro/lspsaga/codeaction/
53 | code_action = {
54 | num_shortcut = true,
55 | only_in_cursor = false,
56 | show_server_name = true,
57 | extend_gitsigns = false,
58 | --[[ keys = { ]]
59 | --[[ quit = "q", ]]
60 | --[[ exec = "", ]]
61 | --[[ }, ]]
62 | },
63 | -- https://dev.neovim.pro/lspsaga/diagnostic/
64 | diagnostic = {
65 | show_code_action = true,
66 | jump_num_shortcut = true,
67 | max_width = 0.5,
68 | max_height = 0.6,
69 | text_hl_follow = true,
70 | border_follow = true,
71 | extend_relatedInformation = true,
72 | show_layout = "float",
73 | show_normal_height = 10,
74 | max_show_width = 0.9,
75 | max_show_height = 0.6,
76 | diagnostic_only_current = false,
77 | --[[ keys = { ]]
78 | --[[ exec_action = "r", ]]
79 | --[[ quit = "q", ]]
80 | --[[ toggle_or_jump = "", ]]
81 | --[[ quit_in_show = { "q", "" }, ]]
82 | --[[ }, ]]
83 | },
84 | -- https://dev.neovim.pro/lspsaga/hover/
85 | hover = {
86 | max_width = 0.45,
87 | max_height = 0.7,
88 | open_link = "gl",
89 | --[[ open_cmd = "silent !" .. require("core.settings").external_browser, ]]
90 | },
91 | -- https://dev.neovim.pro/lspsaga/implement/
92 | implement = {
93 | enable = true,
94 | sign = true,
95 | virtual_text = false,
96 | priority = 100,
97 | },
98 | -- https://dev.neovim.pro/lspsaga/lightbulb/
99 | lightbulb = {
100 | enable = false,
101 | sign = true,
102 | virtual_text = false,
103 | debounce = 10,
104 | sign_priority = 20,
105 | },
106 | -- https://dev.neovim.pro/lspsaga/rename/
107 | rename = {
108 | in_select = false,
109 | auto_save = false,
110 | project_max_width = 0.5,
111 | project_max_height = 0.5,
112 | --[[ keys = { ]]
113 | --[[ quit = "", ]]
114 | --[[ exec = "", ]]
115 | --[[ select = "x", ]]
116 | --[[ }, ]]
117 | },
118 | -- https://dev.neovim.pro/lspsaga/misc/#beacon
119 | beacon = {
120 | enable = true,
121 | frequency = 12,
122 | },
123 | -- https://dev.neovim.pro/lspsaga/misc/#generic-ui-options
124 | ui = {
125 | border = "single", -- Can be single, double, rounded, solid, shadow.
126 | devicon = true,
127 | title = true,
128 | expand = icons.ui.ArrowClosed,
129 | collapse = icons.ui.ArrowOpen,
130 | code_action = icons.ui.CodeAction,
131 | actionfix = icons.ui.Spell,
132 | lines = { "┗", "┣", "┃", "━", "┏" },
133 | imp_sign = icons.kind.Implementation,
134 | kind = require("catppuccin.groups.integrations.lsp_saga").custom_kind(),
135 | --[[ kind = { ]]
136 | --[[ -- Kind ]]
137 | --[[ Class = { icons.kind.Class, "LspKindClass" }, ]]
138 | --[[ Constant = { icons.kind.Constant, "LspKindConstant" }, ]]
139 | --[[ Constructor = { icons.kind.Constructor, "LspKindConstructor" }, ]]
140 | --[[ Enum = { icons.kind.Enum, "LspKindEnum" }, ]]
141 | --[[ EnumMember = { icons.kind.EnumMember, "LspKindEnumMember" }, ]]
142 | --[[ Event = { icons.kind.Event, "LspKindEvent" }, ]]
143 | --[[ Field = { icons.kind.Field, "LspKindField" }, ]]
144 | --[[ File = { icons.kind.File, "LspKindFile" }, ]]
145 | --[[ Function = { icons.kind.Function, "LspKindFunction" }, ]]
146 | --[[ Interface = { icons.kind.Interface, "LspKindInterface" }, ]]
147 | --[[ Key = { icons.kind.Keyword, "LspKindKey" }, ]]
148 | --[[ Method = { icons.kind.Method, "LspKindMethod" }, ]]
149 | --[[ Module = { icons.kind.Module, "LspKindModule" }, ]]
150 | --[[ Namespace = { icons.kind.Namespace, "LspKindNamespace" }, ]]
151 | --[[ Number = { icons.kind.Number, "LspKindNumber" }, ]]
152 | --[[ Operator = { icons.kind.Operator, "LspKindOperator" }, ]]
153 | --[[ Package = { icons.kind.Package, "LspKindPackage" }, ]]
154 | --[[ Property = { icons.kind.Property, "LspKindProperty" }, ]]
155 | --[[ Struct = { icons.kind.Struct, "LspKindStruct" }, ]]
156 | --[[ TypeParameter = { icons.kind.TypeParameter, "LspKindTypeParameter" }, ]]
157 | --[[ Variable = { icons.kind.Variable, "LspKindVariable" }, ]]
158 | --[[ -- Type ]]
159 | --[[ Array = { icons.type.Array, "LspKindArray" }, ]]
160 | --[[ Boolean = { icons.type.Boolean, "LspKindBoolean" }, ]]
161 | --[[ Null = { icons.type.Null, "LspKindNull" }, ]]
162 | --[[ Object = { icons.type.Object, "LspKindObject" }, ]]
163 | --[[ String = { icons.type.String, "LspKindString" }, ]]
164 | --[[ -- ccls-specific icons. ]]
165 | --[[ TypeAlias = { icons.kind.TypeAlias, "LspKindTypeAlias" }, ]]
166 | --[[ Parameter = { icons.kind.Parameter, "LspKindParameter" }, ]]
167 | --[[ StaticMethod = { icons.kind.StaticMethod, "LspKindStaticMethod" }, ]]
168 | --[[ -- Microsoft-specific icons. ]]
169 | --[[ Text = { icons.kind.Text, "LspKindText" }, ]]
170 | --[[ Snippet = { icons.kind.Snippet, "LspKindSnippet" }, ]]
171 | --[[ Folder = { icons.kind.Folder, "LspKindFolder" }, ]]
172 | --[[ Unit = { icons.kind.Unit, "LspKindUnit" }, ]]
173 | --[[ Value = { icons.kind.Value, "LspKindValue" }, ]]
174 | --[[ }, ]]
175 | },
176 | -- https://dev.neovim.pro/lspsaga/misc/#scrolling-keymaps
177 | scroll_preview = {
178 | scroll_down = "",
179 | scroll_up = "",
180 | },
181 | request_timeout = 3000,
182 | })
183 | end
184 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/cmp/luasnip.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | require("luasnip").setup({
3 | history = true,
4 | update_events = "TextChanged,TextChangedI",
5 | delete_check_events = "TextChanged,InsertLeave",
6 | })
7 | require("luasnip.loaders.from_lua").lazy_load()
8 | require("luasnip.loaders.from_vscode").lazy_load()
9 | require("luasnip.loaders.from_snipmate").lazy_load()
10 | end
11 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/editor/colorsizer.lua:
--------------------------------------------------------------------------------
1 |
2 | return function()
3 | local color1 = require("colorizer")
4 | color1.setup(
5 |
6 |
7 | )
8 | end
9 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/editor/comment.lua:
--------------------------------------------------------------------------------
1 |
2 | return function()
3 | local comment = require("Comment")
4 | comment.setup {
5 | pre_hook = function(ctx)
6 | local U = require "Comment.utils"
7 | local location = nil
8 | if ctx.ctype == U.ctype.block then
9 | location = require("ts_context_commentstring.utils").get_cursor_location()
10 | elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
11 | location = require("ts_context_commentstring.utils").get_visual_start_location()
12 | end
13 | --
14 | return require("ts_context_commentstring.internal").calculate_commentstring {
15 | key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
16 | location = location,
17 | }
18 | end,
19 | }
20 | end
21 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/editor/illuminate.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | require('illuminate').configure({
3 | providers = {
4 | "lsp",
5 | "treesitter",
6 | "regex",
7 | },
8 | delay = 100,
9 | filetypes_denylist = {
10 | "dirvish",
11 | "fugitive",
12 | "alpha",
13 | "NvimTree",
14 | "packer",
15 | "neogitstatus",
16 | "Trouble",
17 | "lir",
18 | "Outline",
19 | "spectre_panel",
20 | "toggleterm",
21 | "DressingSelect",
22 | "TelescopePrompt",
23 | },
24 | under_cursor = false,
25 | })
26 | end
27 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/editor/treesitter.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local configs = require("nvim-treesitter.configs")
3 | configs.setup({
4 | ensure_installed = {
5 | "bash",
6 | "bibtex",
7 | "c",
8 | "cpp",
9 | "cmake",
10 | "commonlisp",
11 | "css",
12 | "cuda",
13 | "go",
14 | "gomod",
15 | "html",
16 | "haskell",
17 | "javascript",
18 | "java",
19 | "json",
20 | "latex",
21 | "lua",
22 | "make",
23 | "markdown",
24 | "markdown_inline",
25 | "python",
26 | "rust",
27 | "r",
28 | "typescript",
29 | "vimdoc",
30 | "vim",
31 | "vue",
32 | "yaml",
33 | },
34 |
35 | --[[ ensure_installed = "maintained", ]]
36 | -- ensure_installed = "maintained",
37 | sync_install = true,
38 | ignore_install = { "" }, -- List of parsers to ignore installing
39 | highlight = {
40 | enable = true, -- false will disable the whole extension
41 | disable = { "typst" }, -- list of language that will be disabled
42 | additional_vim_regex_highlighting = false,
43 | },
44 | indent = { enable = true, disable = { "yaml" } },
45 | matchup = {
46 | enable = true, -- mandatory, false will disable the whole extension
47 | --[[ disable = { "c", "ruby" }, -- optional, list of language that will be disabled ]]
48 | -- [options]
49 | },
50 | })
51 | end
52 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/keymaps.lua:
--------------------------------------------------------------------------------
1 | local opts = { noremap = true, silent = true }
2 |
3 | local term_opts = { silent = true }
4 |
5 | -- Shorten function name
6 | local keymap = vim.api.nvim_set_keymap
7 |
8 | --Remap space as leader key
9 | keymap("", "", "", opts)
10 | vim.g.mapleader = " "
11 | vim.g.maplocalleader = " "
12 |
13 | -- Normal --
14 | -- Better window navigation
15 | keymap("n", "", "h", opts)
16 | keymap("n", "", "j", opts)
17 | keymap("n", "", "k", opts)
18 | keymap("n", "", "l", opts)
19 |
20 | -- Resize with arrows
21 | keymap("n", "", ":resize -2", opts)
22 | keymap("n", "", ":resize +2", opts)
23 | keymap("n", "", ":vertical resize -2", opts)
24 | keymap("n", "", ":vertical resize +2", opts)
25 |
26 | -- Navigate buffers
27 | keymap("n", "", ":bnext", opts)
28 | keymap("n", "", ":bprevious", opts)
29 |
30 | -- Move text up and down
31 | keymap("n", "", ":m .+1==gi", opts)
32 | keymap("n", "", ":m .-2==gi", opts)
33 |
34 | -- Insert --
35 | -- Press jk fast to exit insert mode
36 | keymap("i", "jk", "", opts)
37 |
38 | -- Visual --
39 | -- Stay in indent mode
40 | keymap("v", "<", "", ">gv", opts)
42 |
43 | -- Move text up and down
44 | keymap("v", "", ":m .+1==", opts)
45 | keymap("v", "", ":m .-2==", opts)
46 | keymap("v", "p", '"_dP', opts)
47 |
48 | -- Visual Block --
49 | -- Move text up and down
50 | keymap("x", "J", ":move '>+1gv-gv", opts)
51 | keymap("x", "K", ":move '<-2gv-gv", opts)
52 | keymap("x", "", ":move '>+1gv-gv", opts)
53 | keymap("x", "", ":move '<-2gv-gv", opts)
54 |
55 | vim.api.nvim_create_user_command("RustEnableInlayHints", "lua require('rust-tools').inlay_hints.set()", {})
56 | vim.api.nvim_create_user_command("RustDisableInlayHints", "lua require('rust-tools').inlay_hints.unset()", {})
57 |
58 | keymap("n", "gh", "Lspsaga lsp_finder", opts)
59 | keymap("n", "K", "Lspsaga hover_doc", opts)
60 | keymap("n", "gp", "Lspsaga peek_definition", opts)
61 | keymap("n", "gd", "Lspsaga goto_definition", opts)
62 | keymap("n", "gf", "Guard fmt", opts)
63 | keymap("n", "o", "Lspsaga outline", opts)
64 | keymap("n", "", "Lspsaga term_toggle", opts)
65 | keymap("t", "", "Lspsaga term_toggle", opts)
66 |
67 | vim.api.nvim_set_keymap("i", "", "(TaboutMulti)", { silent = true })
68 | vim.api.nvim_set_keymap("i", "", "(TaboutBackMulti)", { silent = true })
69 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/lang/image.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | require("image").setup({
3 | backend = "ueberzug",
4 | processor = "magick_cli", -- or "magick_cli"
5 | integrations = {
6 | markdown = {
7 | enabled = true,
8 | clear_in_insert_mode = false,
9 | download_remote_images = true,
10 | only_render_image_at_cursor = false,
11 | floating_windows = false, -- if true, images will be rendered in floating markdown windows
12 | filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
13 | },
14 | neorg = {
15 | enabled = true,
16 | filetypes = { "norg" },
17 | },
18 | typst = {
19 | enabled = true,
20 | filetypes = { "typst" },
21 | },
22 | html = {
23 | enabled = false,
24 | },
25 | css = {
26 | enabled = false,
27 | },
28 | },
29 | max_width = nil,
30 | max_height = nil,
31 | max_width_window_percentage = nil,
32 | max_height_window_percentage = 50,
33 | window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
34 | window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
35 | editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
36 | tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
37 | hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
38 | })
39 | end
40 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/options.lua:
--------------------------------------------------------------------------------
1 | local options = {
2 | backup = false, -- creates a backup file
3 | clipboard = "unnamedplus", -- allows neovim to access the system clipboard
4 | cmdheight = 2, -- more space in the neovim command line for displaying messages
5 | completeopt = { "menuone", "noselect" }, -- mostly just for cmp
6 | conceallevel = 0, -- so that `` is visible in markdown files
7 | fileencoding = "utf-8", -- the encoding written to a file
8 | hlsearch = true, -- highlight all matches on previous search pattern
9 | ignorecase = true, -- ignore case in search patterns
10 | mouse = "a", -- allow the mouse to be used in neovim
11 | pumheight = 10, -- pop up menu height
12 | showmode = true, -- we don't need to see things like -- INSERT -- anymore
13 | showtabline = 2, -- always show tabs
14 | smartcase = true, -- smart case
15 | smartindent = true, -- make indenting smarter again
16 | splitbelow = true, -- force all horizontal splits to go below current window
17 | splitright = true, -- force all vertical splits to go to the right of current window
18 | swapfile = false, -- creates a swapfile
19 | termguicolors = true, -- set term gui colors (most terminals support this)
20 | timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
21 | undofile = true, -- enable persistent undo
22 | updatetime = 300, -- faster completion (4000ms default)
23 | writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
24 | expandtab = true, -- convert tabs to spaces
25 | shiftwidth = 2, -- the number of spaces inserted for each indentation
26 | tabstop = 2, -- insert 2 spaces for a tab
27 | cursorline = true, -- highlight the current line
28 | number = true, -- set numbered lines
29 | relativenumber = true, -- set relative numbered lines
30 | numberwidth = 4, -- set number column width to 2 {default 4}
31 | signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
32 | wrap = false, -- display lines as one long line
33 | scrolloff = 8, -- is one of my fav
34 | sidescrolloff = 8,
35 | -- guifont = "monospace:h17", -- the font used in graphical neovim applications
36 | guifont = "JetBrains_Mono:h12", -- the font used in graphical neovim applications
37 | --[[ foldmethod = "expr", ]]
38 | --[[ foldenable = false, ]]
39 | }
40 |
41 | vim.opt.shortmess:append "c"
42 | vim.opt.spell = true
43 | vim.opt.spelllang = "en"
44 | for k, v in pairs(options) do
45 | vim.opt[k] = v
46 | end
47 |
48 | vim.cmd "set whichwrap+=<,>,[,],h,l"
49 | vim.cmd [[set iskeyword+=-]]
50 | vim.cmd [[set formatoptions-=cro]] -- TODO: this doesn't seem to work
51 | vim.cmd [[syntax on]]
52 |
53 | if vim.g.neovide then
54 | vim.opt.guifont = { "JetBrains_Mono", "h12" }
55 | --
56 | end
57 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/other/flash.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | vim.api.nvim_set_hl(0, "FlashMatch", {
3 | bg = "#a3be8c",
4 | fg = "#2e3440",
5 | bold = true,
6 | })
7 |
8 | vim.api.nvim_set_hl(0, "FlashLabel", {
9 | bg = "#bf616a",
10 | fg = "#FFFFFF",
11 | bold = true,
12 | })
13 |
14 | vim.api.nvim_set_hl(0, "FlashPrompt", {
15 | bg = "#eceff4",
16 | fg = "#b48ead",
17 | bold = true,
18 | })
19 | require("flash").setup({
20 | {
21 | -- options used when flash is activated through
22 | -- `f`, `F`, `t`, `T`, `;` and `,` motions
23 | char = {
24 | enabled = true,
25 | multi_line = false,
26 | search = { wrap = false },
27 | jump_labels = true,
28 | highlight = { backdrop = true, groups = { backdrop = "FlashLabel" } },
29 | jump = { register = false },
30 | },
31 | },
32 | })
33 | end
34 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/other/hlslen.lua:
--------------------------------------------------------------------------------
1 | return function()
2 |
3 | local kopts = { noremap = true, silent = true }
4 |
5 | vim.api.nvim_set_keymap('n', 'n',
6 | [[execute('normal! ' . v:count1 . 'n')lua require('hlslens').start()]],
7 | kopts)
8 | vim.api.nvim_set_keymap('n', 'N',
9 | [[execute('normal! ' . v:count1 . 'N')lua require('hlslens').start()]],
10 | kopts)
11 | vim.api.nvim_set_keymap('n', '*', [[*lua require('hlslens').start()]], kopts)
12 | vim.api.nvim_set_keymap('n', '#', [[#lua require('hlslens').start()]], kopts)
13 | vim.api.nvim_set_keymap('n', 'g*', [[g*lua require('hlslens').start()]], kopts)
14 | vim.api.nvim_set_keymap('n', 'g#', [[g#lua require('hlslens').start()]], kopts)
15 |
16 | vim.api.nvim_set_keymap('n', 'l', 'noh', kopts)
17 | require('hlslens').setup()
18 |
19 | end
20 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/other/ufo.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]
3 | vim.o.foldcolumn = "1" -- '0' is not bad
4 | vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
5 | vim.o.foldlevelstart = 99
6 | vim.o.foldenable = true
7 |
8 | local capabilities = vim.lsp.protocol.make_client_capabilities()
9 | capabilities.textDocument.foldingRange = {
10 | dynamicRegistration = false,
11 | lineFoldingOnly = true,
12 | }
13 | local language_servers = vim.lsp.get_clients()
14 | for _, ls in ipairs(language_servers) do
15 | require("lspconfig")[ls].setup({
16 | capabilities = capabilities,
17 | -- you can add other fields for setting up lsp server in this table
18 | })
19 | end
20 | require("ufo").setup()
21 | --[[ require("ufo").setup({ ]]
22 | --[[ provider_selector = function(bufnr, filetype, buftype) ]]
23 | --[[ return { "treesitter", "indent" } ]]
24 | --[[ end, ]]
25 | --[[ }) ]]
26 | end
27 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/tool/nvim-tree.lua:
--------------------------------------------------------------------------------
1 | local status_ok, nvim_tree = pcall(require, "nvim-tree")
2 | if not status_ok then
3 | return
4 | end
5 |
6 | return function()
7 | local opts = {
8 | open_on_stepup = true,
9 | update_focused_file = {
10 | enable = true,
11 | update_cwd = true,
12 | },
13 | sort_by = "case_sensitive",
14 |
15 | filters = {
16 | dotfiles = false,
17 | },
18 | renderer = {
19 | root_folder_modifier = ":t",
20 | -- webdev_colors = true,
21 | group_empty = true,
22 | icons = {
23 | glyphs = {
24 | default = "",
25 | symlink = "",
26 | folder = {
27 | arrow_open = "",
28 | arrow_closed = ">",
29 | empty = "",
30 | empty_open = "",
31 | default = "",
32 | open = "",
33 |
34 | symlink = "",
35 | symlink_open = "",
36 | },
37 | git = {
38 | unstaged = "",
39 | staged = "S",
40 | unmerged = "",
41 | renamed = "➜",
42 | untracked = "U",
43 | deleted = "",
44 | ignored = "◌",
45 | },
46 | },
47 | },
48 | },
49 |
50 | view = {
51 | width = 30,
52 | side = "left",
53 |
54 | },
55 | }
56 |
57 | require 'nvim-web-devicons'.setup {
58 |
59 | override = {
60 | zsh = {
61 | icon = "",
62 | color = "#428850",
63 | cterm_color = "65",
64 | name = "Zsh"
65 | }
66 | },
67 | default = true,
68 | }
69 | require("nvim-tree").setup(opts)
70 | end
71 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/tool/telescope.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local telescope = require("telescope")
3 | telescope.load_extension('media_files')
4 |
5 | local actions = require "telescope.actions"
6 |
7 | local lga_actions = require("telescope-live-grep-args.actions")
8 | local dropdown_configs = {
9 | --[[ layout_strategy = "vertical", ]]
10 | layout_strategy = "cursor",
11 | layout_config = {
12 | --[[ prompt_position = "bottom", ]]
13 | vertical = {
14 | width = 0.4,
15 | height = 0.6,
16 | },
17 | },
18 | }
19 |
20 | telescope.setup {
21 | defaults = {
22 | prompt_prefix = " ",
23 | selection_caret = " ",
24 | path_display = { "smart" },
25 | mappings = {
26 | i = {
27 | [""] = actions.cycle_history_next,
28 | [""] = actions.cycle_history_prev,
29 | [""] = actions.move_selection_next,
30 | [""] = actions.move_selection_previous,
31 | [""] = actions.close,
32 | [""] = actions.move_selection_next,
33 | [""] = actions.move_selection_previous,
34 | [""] = actions.select_default,
35 | [""] = actions.select_horizontal,
36 | [""] = actions.select_vertical,
37 | [""] = actions.select_tab,
38 | [""] = actions.preview_scrolling_up,
39 | [""] = actions.preview_scrolling_down,
40 | [""] = actions.results_scrolling_up,
41 | [""] = actions.results_scrolling_down,
42 | [""] = actions.toggle_selection + actions.move_selection_worse,
43 | [""] = actions.toggle_selection + actions.move_selection_better,
44 | [""] = actions.send_to_qflist + actions.open_qflist,
45 | [""] = actions.send_selected_to_qflist + actions.open_qflist,
46 | [""] = actions.complete_tag,
47 | [""] = actions.which_key, -- keys from pressing
48 | },
49 | n = {
50 | [""] = actions.close,
51 | [""] = actions.select_default,
52 | [""] = actions.select_horizontal,
53 | [""] = actions.select_vertical,
54 | [""] = actions.select_tab,
55 | [""] = actions.toggle_selection + actions.move_selection_worse,
56 | [""] = actions.toggle_selection + actions.move_selection_better,
57 | [""] = actions.send_to_qflist + actions.open_qflist,
58 | [""] = actions.send_selected_to_qflist + actions.open_qflist,
59 | ["j"] = actions.move_selection_next,
60 | ["k"] = actions.move_selection_previous,
61 | ["H"] = actions.move_to_top,
62 | ["M"] = actions.move_to_middle,
63 | ["L"] = actions.move_to_bottom,
64 | [""] = actions.move_selection_next,
65 | [""] = actions.move_selection_previous,
66 | ["gg"] = actions.move_to_top,
67 | ["G"] = actions.move_to_bottom,
68 | [""] = actions.preview_scrolling_up,
69 | [""] = actions.preview_scrolling_down,
70 | [""] = actions.results_scrolling_up,
71 | [""] = actions.results_scrolling_down,
72 | ["?"] = actions.which_key,
73 | },
74 | },
75 | },
76 | pickers = {
77 | },
78 | extensions = {
79 | ["ui-select"] = {
80 | require("telescope.themes").get_dropdown(dropdown_configs),
81 | },
82 | media_files = {
83 | filetypes = { "png", "webp", "jpg", "jpeg" },
84 | find_cmd = "rg" -- find command (defaults to `fd`)
85 | },
86 | fzf = {
87 | fuzzy = true, -- false will only do exact matching
88 | override_generic_sorter = true, -- override the generic sorter
89 | override_file_sorter = true, -- override the file sorter
90 | case_mode = "smart_case", -- or "ignore_case" or "respect_case"
91 | -- the default case_mode is "smart_case"
92 | },
93 | live_grep_args = {
94 | auto_quoting = true, -- enable/disable auto-quoting
95 | -- define mappings, e.g.
96 | mappings = { -- extend mappings
97 | i = {
98 | [""] = lga_actions.quote_prompt(),
99 | [""] = lga_actions.quote_prompt({ postfix = " --iglob " }),
100 | },
101 | },
102 | },
103 | thesaurus = {
104 | provider = 'freedictionaryapi',
105 | },
106 | },
107 | }
108 | require("telescope").load_extension("ui-select")
109 | require('telescope').load_extension('fzf')
110 | require("telescope").load_extension("live_grep_args")
111 | --[[ require("telescope").load_extension("undo") ]]
112 | --[[ require "telescope".load_extension("frecency") ]]
113 | end
114 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/tool/whichkey.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local wk = require("which-key")
3 | wk.add({
4 |
5 | {
6 | "f",
7 | "lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))",
8 | mode = "n",
9 | desc = "find file",
10 | },
11 | { "", "Telescope live_grep", mode = "n", desc = "live grep" },
12 | { "e", ":NvimTreeToggle", mode = "n", desc = "Explorer" },
13 |
14 | { "/", "(comment_toggle_linewise_current)", mode = "n", desc = "Comment" },
15 | { "/", "(comment_toggle_linewise_visual)", mode = "v", desc = "Comment" },
16 | { "a", " Alpha", mode = "n", desc = "Alpha" },
17 | {
18 | "b",
19 | "lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})",
20 | mode = "n",
21 | desc = "find buffers",
22 | },
23 | { "c", "BufDel", mode = "n", desc = "Close Buffer" },
24 | { "w", "w!", mode = "n", desc = "Save" },
25 | { "q", "q!", mode = "n", desc = "Quit" },
26 | { "h", "nohlsearch", mode = "n", desc = "No Highlight" },
27 | { "F", "Telescope live_grep theme=ivy", mode = "n", desc = "Find Text" },
28 | { "P", "Telescope projects", mode = "n", desc = "Projects" },
29 |
30 | { "p", group = "Lazy" }, -- group
31 | { "pc", "Lazy clean", mode = "n", desc = "clean" },
32 | { "ps", "Lazy sync", mode = "n", desc = "sync" },
33 | { "pS", "Lazy show", mode = "n", desc = "show" },
34 |
35 | { "l", group = "lsp" }, -- group
36 | { "la", "Lspsaga code_action", mode = "n", desc = "Code Action" },
37 | { "ld", "Lspsaga show_buf_diagnostics", mode = "n", desc = "Document Diagnostics" },
38 | { "lw", "Lspsaga show_workspace_diagnostics", mode = "n", desc = "Workspace Diagnostics" },
39 | { "li", "LspInfo", mode = "n", desc = " Info" },
40 | { "lf", "Lspsaga finder def+ref", mode = "n", desc = "finder" },
41 | { "lI", "LspInstallInfo", mode = "n", desc = "Installer Info" },
42 | { "lj", "Lspsaga diagnostic_jump_next", mode = "n", desc = "Next Diagnostic" },
43 | { "lk", "Lspsaga diagnostic_jump_prev", mode = "n", desc = "Prev Diagnostic" },
44 | { "lr", "Lspsaga rename", mode = "n", desc = "Rename" },
45 | { "ls", "Telescope lsp_document_symbols", mode = "n", desc = "Document Symbols" },
46 | { "lS", "Telescope lsp_dynamic_workspace_symbols", mode = "n", desc = "Workspace Symbols" },
47 | })
48 | end
49 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/tool/wilder.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local wilder = require('wilder')
3 | wilder.setup({ modes = { ':', '/', '?' } })
4 |
5 | wilder.set_option('pipeline', {
6 | wilder.branch(
7 | wilder.cmdline_pipeline({fuzzy = 1, fuzzy_filter = wilder.lua_fzy_filter() }),
8 | wilder.search_pipeline()
9 | ),
10 | })
11 |
12 | wilder.set_option('renderer', wilder.wildmenu_renderer({
13 | --[[ highlighter = wilder.basic_highlighter(), ]]
14 | highlighter = wilder.lua_fzy_highlighter(),
15 | }))
16 | end
17 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/alpha.lua:
--------------------------------------------------------------------------------
1 | local function capture(cmd, raw)
2 | local f = assert(io.popen(cmd, "r"))
3 | local s = assert(f:read("*a"))
4 | f:close()
5 | if raw then
6 | return s
7 | end
8 | s = string.gsub(s, "^%s+", "")
9 | s = string.gsub(s, "%s+$", "")
10 | s = string.gsub(s, "[\n\r]+", " ")
11 | return s
12 | end
13 |
14 | local function split(source, sep)
15 | local result, i = {}, 1
16 | while true do
17 | local a, b = source:find(sep)
18 | if not a then
19 | break
20 | end
21 | local candidat = source:sub(1, a - 1)
22 | if candidat ~= "" then
23 | result[i] = candidat
24 | end
25 | i = i + 1
26 | source = source:sub(b + 1)
27 | end
28 | if source ~= "" then
29 | result[i] = source
30 | end
31 | return result
32 | end
33 |
34 | return function()
35 | local alpha = require("alpha")
36 | local dashboard = require("alpha.themes.dashboard")
37 |
38 | dashboard.section.footer.val = "Total plugins: " .. require("lazy").stats().count
39 | dashboard.section.header.opts.hl = "Question"
40 | dashboard.section.buttons.val = {
41 | dashboard.button("f", " Find file", ":Telescope find_files"),
42 | dashboard.button("e", " New file", ":enew"),
43 | dashboard.button("r", " Recently used files", ":Telescope oldfiles "),
44 | dashboard.button("t", " Find text", ":Telescope live_grep "),
45 | dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua "),
46 | dashboard.button("p", " Update plugins", ":Lazy sync"),
47 | dashboard.button("q", " Exit", ":qa"),
48 | }
49 | alpha.setup(dashboard.config)
50 | vim.api.nvim_create_augroup("vimrc_alpha", { clear = true })
51 | vim.api.nvim_create_autocmd({ "User" }, {
52 | group = "vimrc_alpha",
53 | pattern = "AlphaReady",
54 | callback = function()
55 | if vim.fn.executable("onefetch") == 1 then
56 | local header = split(
57 | capture(
58 | [[onefetch 2>/dev/null | sed 's/\x1B[@A-Z\\\]^_]\|\x1B\[[0-9:;<=>?]*[-!"#$%&'"'"'()*+,.\/]*[][\\@A-Z^_`a-z{|}~]//g']],
59 | true
60 | ),
61 | "\n"
62 | )
63 | if next(header) ~= nil then
64 | require("alpha.themes.dashboard").section.header.val = header
65 | require("alpha").redraw()
66 | end
67 | end
68 | end,
69 | once = true,
70 | })
71 | end
72 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/bufferline.lua:
--------------------------------------------------------------------------------
1 | local function diagnostics_indicator(num, _, diagnostics, _)
2 | local result = {}
3 | local symbols = {
4 | error = "",
5 | warning = "",
6 | info = "",
7 | }
8 | for name, count in pairs(diagnostics) do
9 | if symbols[name] and count > 0 then
10 | table.insert(result, symbols[name] .. " " .. count)
11 | end
12 | end
13 | result = table.concat(result, " ")
14 | return #result > 0 and result or ""
15 | end
16 | --
17 | return function()
18 | --[[ local highlights = require("nord").bufferline.highlights({ ]]
19 | --[[ italic = true, ]]
20 | --[[ bold = true, ]]
21 | --[[ }) ]]
22 | --
23 | local highlights = require("catppuccin.groups.integrations.bufferline").get()
24 | local opts = {
25 | options = {
26 | mode = "buffers", -- set to "tabs" to only show tabpages instead
27 | numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function
28 | right_mouse_command = "vert sbuffer %d", -- can be a string | function, see "Mouse actions"
29 | left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions"
30 | middle_mouse_command = nil, -- can
31 | indicator = {
32 | icon = "▎", -- this should be omitted if indicator style is not 'icon'
33 | style = "icon",
34 | },
35 | buffer_close_icon = "",
36 | modified_icon = "●",
37 | close_icon = "",
38 | left_trunc_marker = "",
39 | right_trunc_marker = "",
40 | max_name_length = 14,
41 | max_prefix_length = 13, -- prefix used when a buffer is de-duplicated
42 | truncate_names = true, -- whether or not tab names should be truncated
43 | tab_size = 20,
44 | diagnostics = "nvim_lsp",
45 | diagnostics_update_in_insert = false,
46 | diagnostics_indicator = diagnostics_indicator,
47 | offsets = {
48 | {
49 | filetype = "NvimTree",
50 | text = "Explorer",
51 | highlight = "PanelHeading",
52 | padding = 1,
53 | },
54 | },
55 | color_icons = true, -- whether or not to add the filetype icon highlights
56 | show_buffer_icons = true,
57 | show_buffer_close_icons = true,
58 | show_close_icon = true,
59 | --[[ show_buffer_default_icon = true, ]]
60 | show_tab_indicators = true,
61 | persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
62 | -- can also be a table containing 2 custom separators
63 | -- [focused and unfocused]. eg: { '|', '|' }
64 | separator_style = "thin",
65 | enforce_regular_tabs = true,
66 | always_show_bufferline = true,
67 | hover = {
68 | enabled = false, -- requires nvim 0.8+
69 | delay = 200,
70 | reveal = { "close" },
71 | },
72 | sort_by = "id",
73 | },
74 | highlights = highlights,
75 | }
76 | require("bufferline").setup(opts)
77 | end
78 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/catppuccin.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | require("catppuccin").setup({
3 | integrations = {
4 | cmp = true,
5 | gitsigns = true,
6 | nvimtree = true,
7 | treesitter = true,
8 | treesitter_context = false,
9 | notify = false,
10 | alpha = true,
11 | flash = true,
12 | lsp_saga = false,
13 | indent_blankline = {
14 | enabled = true,
15 | scope_color = "", -- catppuccin color (eg. `lavender`) Default: text
16 | colored_indent_levels = false,
17 | },
18 | which_key = false,
19 | lsp_trouble = false,
20 | telescope = {
21 | enabled = true,
22 | -- style = "nvchad"
23 | },
24 | native_lsp = {
25 | enabled = true,
26 | virtual_text = {
27 | errors = { "italic" },
28 | hints = { "italic" },
29 | warnings = { "italic" },
30 | information = { "italic" },
31 | },
32 | underlines = {
33 | errors = { "underline" },
34 | hints = { "underline" },
35 | warnings = { "underline" },
36 | information = { "underline" },
37 | },
38 | inlay_hints = {
39 | background = true,
40 | },
41 | },
42 | ufo = true,
43 | },
44 | })
45 | end
46 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/colorscheme.lua:
--------------------------------------------------------------------------------
1 | --[[ local colorscheme = "nord" ]]
2 | vim.cmd.colorscheme "catppuccin"
3 | --
4 | local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
5 | if not status_ok then
6 | vim.notify("colorscheme " .. colorscheme .. " not found!")
7 | return
8 | end
9 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/icons.lua:
--------------------------------------------------------------------------------
1 | local icons = {}
2 |
3 | local data = {
4 | kind = {
5 | Class = "",
6 | Color = "",
7 | Constant = "",
8 | Constructor = "",
9 | Enum = "",
10 | EnumMember = "",
11 | Event = "",
12 | Field = "",
13 | File = "",
14 | Folder = "",
15 | Fragment = "",
16 | Function = "",
17 | Interface = "",
18 | Implementation = "",
19 | Keyword = "",
20 | Method = "",
21 | Module = "",
22 | Namespace = "",
23 | Number = "",
24 | Operator = "",
25 | Package = "",
26 | Property = "",
27 | Reference = "",
28 | Snippet = "",
29 | Struct = "",
30 | Text = "",
31 | TypeParameter = "",
32 | Undefined = "",
33 | Unit = "",
34 | Value = "",
35 | Variable = "",
36 | -- ccls-specific icons.
37 | TypeAlias = "",
38 | Parameter = "",
39 | StaticMethod = "",
40 | Macro = "",
41 | },
42 | type = {
43 | Array = "",
44 | Boolean = "",
45 | Null = "",
46 | Number = "",
47 | Object = "",
48 | String = "",
49 | },
50 | documents = {
51 | Default = "",
52 | File = "",
53 | Files = "",
54 | FileTree = "",
55 | Import = "",
56 | Symlink = "",
57 | },
58 | git = {
59 | Add = "",
60 | Branch = "",
61 | Diff = "",
62 | Git = "",
63 | Ignore = "",
64 | Mod = "M",
65 | Mod_alt = "",
66 | Remove = "",
67 | Rename = "",
68 | Repo = "",
69 | Unmerged = "",
70 | Untracked = "",
71 | Unstaged = "",
72 | Staged = "",
73 | Conflict = "",
74 | },
75 | ui = {
76 | Accepted = "",
77 | ArrowClosed = "",
78 | ArrowOpen = "",
79 | BigCircle = "",
80 | BigUnfilledCircle = "",
81 | BookMark = "",
82 | Bug = "",
83 | Calendar = "",
84 | Check = "",
85 | ChevronRight = "",
86 | Circle = "",
87 | Close = "",
88 | Close_alt = "",
89 | CloudDownload = "",
90 | Comment = "",
91 | CodeAction = "",
92 | Dashboard = "",
93 | Emoji = "",
94 | EmptyFolder = "",
95 | EmptyFolderOpen = "",
96 | File = "",
97 | Fire = "",
98 | Folder = "",
99 | FolderOpen = "",
100 | FolderWithHeart = "",
101 | Gear = "",
102 | History = "",
103 | Incoming = "",
104 | Indicator = "",
105 | Keyboard = "",
106 | Left = "",
107 | List = "",
108 | Square = "",
109 | SymlinkFolder = "",
110 | Lock = "",
111 | Modified = "✥",
112 | Modified_alt = "",
113 | NewFile = "",
114 | Newspaper = "",
115 | Note = "",
116 | Outgoing = "",
117 | Package = "",
118 | Pencil = "",
119 | Perf = "",
120 | Play = "",
121 | Project = "",
122 | Right = "",
123 | RootFolderOpened = "",
124 | Search = "",
125 | Separator = "",
126 | DoubleSeparator = "",
127 | SignIn = "",
128 | SignOut = "",
129 | Sort = "",
130 | Spell = "",
131 | Symlink = "",
132 | Tab = "",
133 | Table = "",
134 | Telescope = "",
135 | },
136 | diagnostics = {
137 | Error = "",
138 | Warning = "",
139 | Information = "",
140 | Question = "",
141 | Hint = "",
142 | -- Holo version
143 | Error_alt = "",
144 | Warning_alt = "",
145 | Information_alt = "",
146 | Question_alt = "",
147 | Hint_alt = "",
148 | },
149 | misc = {
150 | Campass = "",
151 | Code = "",
152 | Gavel = "",
153 | Glass = "",
154 | NoActiveLsp = "",
155 | PyEnv = "",
156 | Squirrel = "",
157 | Tag = "",
158 | Tree = "",
159 | Watch = "",
160 | Lego = "",
161 | LspAvailable = "",
162 | Vbar = "│",
163 | Add = "+",
164 | Added = "",
165 | Ghost = "",
166 | ManUp = "",
167 | Vim = "",
168 | },
169 | cmp = {
170 | Codeium = "",
171 | TabNine = "",
172 | Copilot = "",
173 | Copilot_alt = "",
174 | -- Add source-specific icons here
175 | buffer = "",
176 | cmp_tabnine = "",
177 | codeium = "",
178 | copilot = "",
179 | copilot_alt = "",
180 | latex_symbols = "",
181 | luasnip = "",
182 | nvim_lsp = "",
183 | nvim_lua = "",
184 | orgmode = "",
185 | path = "",
186 | spell = "",
187 | tmux = "",
188 | treesitter = "",
189 | undefined = "",
190 | },
191 | dap = {
192 | Breakpoint = "",
193 | BreakpointCondition = "",
194 | BreakpointRejected = "",
195 | LogPoint = "",
196 | Pause = "",
197 | Play = "",
198 | RunLast = "↻",
199 | StepBack = "",
200 | StepInto = "",
201 | StepOut = "",
202 | StepOver = "",
203 | Stopped = "",
204 | Terminate = "",
205 | },
206 | }
207 |
208 | ---Get a specific icon set.
209 | ---@param category "kind"|"type"|"documents"|"git"|"ui"|"diagnostics"|"misc"|"cmp"|"dap"
210 | ---@param add_space? boolean @Add trailing space after the icon.
211 | function icons.get(category, add_space)
212 | if add_space then
213 | return setmetatable({}, {
214 | __index = function(_, key)
215 | return data[category][key] .. " "
216 | end,
217 | })
218 | else
219 | return data[category]
220 | end
221 | end
222 |
223 | return icons
224 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/indentline.lua:
--------------------------------------------------------------------------------
1 | return function()
2 | local opts = {
3 |
4 | indent = {
5 | char = "│",
6 | tab_char = "│",
7 | smart_indent_cap = true,
8 | priority = 2,
9 | },
10 | exclude = {
11 | filetypes = {
12 | "", -- for all buffers without a file type
13 | "alpha",
14 | "big_file_disabled_ft",
15 | "dashboard",
16 | "dotooagenda",
17 | "flutterToolsOutline",
18 | "fugitive",
19 | "git",
20 | "gitcommit",
21 | "help",
22 | "json",
23 | "log",
24 | "markdown",
25 | "NvimTree",
26 | "Outline",
27 | "peekaboo",
28 | "startify",
29 | "TelescopePrompt",
30 | "todoist",
31 | "txt",
32 | "undotree",
33 | "vimwiki",
34 | "vista",
35 | },
36 | buftypes = { "terminal", "nofile", "quickfix", "prompt" },
37 | },
38 | scope = {
39 | enabled = true,
40 | char = "┃",
41 | show_start = false,
42 | show_end = false,
43 | injected_languages = true,
44 | priority = 1000,
45 | include = {
46 | node_type = {
47 | ["*"] = {
48 | "argument_list",
49 | "arguments",
50 | "assignment_statement",
51 | "Block",
52 | "chunk",
53 | "class",
54 | "ContainerDecl",
55 | "dictionary",
56 | "do_block",
57 | "do_statement",
58 | "element",
59 | "except",
60 | "FnCallArguments",
61 | "for",
62 | "for_statement",
63 | "function",
64 | "function_declaration",
65 | "function_definition",
66 | "if_statement",
67 | "IfExpr",
68 | "IfStatement",
69 | "import",
70 | "InitList",
71 | "list_literal",
72 | "method",
73 | "object",
74 | "ParamDeclList",
75 | "repeat_statement",
76 | "selector",
77 | "SwitchExpr",
78 | "table",
79 | "table_constructor",
80 | "try",
81 | "tuple",
82 | "type",
83 | "var",
84 | "while",
85 | "while_statement",
86 | "with",
87 | },
88 | },
89 | },
90 | },
91 |
92 | --[[ space_char_blankline = " ", ]]
93 | } --
94 | require("ibl").setup(opts)
95 | -- }
96 | end
97 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/lualine.lua:
--------------------------------------------------------------------------------
1 | -- local status_ok, lualine = pcall(require, "lualine")
2 | -- if not status_ok then
3 | -- return
4 | -- end
5 | --
6 | return function()
7 | local colors = {
8 | nord1 = "#3B4252",
9 | nord3 = "#4C566A",
10 | nord5 = "#E5E9F0",
11 | nord6 = "#ECEFF4",
12 | nord7 = "#8FBCBB",
13 | nord8 = "#88C0D0",
14 | nord13 = "#EBCB8B",
15 | }
16 |
17 | local nordic = {
18 | normal = {
19 | a = { fg = colors.nord1, bg = colors.nord8, gui = "bold" },
20 | b = { fg = colors.nord5, bg = colors.nord1 },
21 | c = { fg = colors.nord5, bg = colors.nord3 },
22 | },
23 | insert = { a = { fg = colors.nord1, bg = colors.nord6, gui = "bold" } },
24 | visual = { a = { fg = colors.nord1, bg = colors.nord7, gui = "bold" } },
25 | replace = { a = { fg = colors.nord1, bg = colors.nord13, gui = "bold" } },
26 | inactive = {
27 | a = { fg = colors.nord1, bg = colors.nord8, gui = "bold" },
28 | b = { fg = colors.nord5, bg = colors.nord1 },
29 | c = { fg = colors.nord5, bg = colors.nord1 },
30 | },
31 | }
32 |
33 | -- cool function for progress
34 | local progress = function()
35 | local current_line = vim.fn.line(".")
36 | local total_lines = vim.fn.line("$")
37 | local chars = { "__", "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
38 | local line_ratio = current_line / total_lines
39 | local index = math.ceil(line_ratio * #chars)
40 | return chars[index]
41 | end
42 |
43 | local spaces = function()
44 | return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
45 | end
46 |
47 | local opts = {
48 | options = {
49 | icons_enabled = true,
50 | --theme = 'auto',
51 | --[[ theme = nordic, ]]
52 | theme = "catppuccin",
53 | --[[ theme = 'onenord', ]]
54 | component_separators = { left = "", right = "" },
55 | section_separators = { left = "", right = "" },
56 | disabled_filetypes = {},
57 | always_divide_middle = true,
58 | globalstatus = false,
59 | },
60 | sections = {
61 | lualine_a = { "mode" },
62 | lualine_b = { "branch", "diff", "diagnostics" },
63 | lualine_c = { "filename" },
64 | lualine_x = { "encoding", "fileformat", "filetype" },
65 | lualine_y = { "progress" },
66 | lualine_z = { "location" },
67 | },
68 | inactive_sections = {
69 | lualine_a = {},
70 | lualine_b = {},
71 | lualine_c = { "filename" },
72 | lualine_x = { "location" },
73 | lualine_y = {},
74 | lualine_z = {},
75 | },
76 | tabline = {},
77 | extensions = {},
78 | }
79 | require("lualine").setup(opts)
80 | end
81 |
--------------------------------------------------------------------------------
/config/nvim/lua/user/ui/nordic.lua:
--------------------------------------------------------------------------------
1 |
2 | --[[ vim.g.nord_borders = true ]]
3 | --[[ vim.g.nord_italic = true ]]
4 | --[[ vim.g.nord_bold = true ]]
5 | return function()
6 | require('nord').set()
7 | end
8 |
9 |
10 |
--------------------------------------------------------------------------------
/config/polybar/launch.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Add this script to your wm startup file.
4 |
5 | DIR="$HOME/.config/polybar"
6 |
7 | # Terminate already running bar instances
8 | killall -q polybar
9 |
10 | # Wait until the processes have been shut down
11 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
12 |
13 | # if type "xrandr"; then
14 | # for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
15 | # MONITOR=$m polybar -reload main -c ~/.config/polybar/1/config.ini &
16 | # done
17 | # else
18 | # polybar -reload main -c ~/.config/polybar/1/config.ini &
19 | # fi
20 | # Launch the bar
21 | polybar -q main -c "$DIR"/config.ini &
22 |
--------------------------------------------------------------------------------
/config/polybar/launchleft.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Add this script to your wm startup file.
4 |
5 | DIR="$HOME/.config/polybar/1"
6 |
7 | # Terminate already running bar instances
8 | killall -q polybar
9 |
10 | # Wait until the processes have been shut down
11 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
12 |
13 | # Launch the bar
14 | polybar -q main -c "$DIR"/configleft.ini &
15 |
--------------------------------------------------------------------------------
/config/polybar/scripts/cava.py:
--------------------------------------------------------------------------------
1 | #!/bin/env python3
2 | import argparse
3 | import os
4 | import signal
5 | import subprocess
6 | import sys
7 | import tempfile
8 |
9 | if len(sys.argv) > 1 and sys.argv[1] == '--subproc':
10 | ramp_list = [' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█']
11 | ramp_list.extend(
12 | f'%{{F#{color.strip(" #")}}}█%{{F-}}'
13 | for color in sys.argv[2].split(',')
14 | if color
15 | )
16 | while True:
17 | cava_input = input().strip().split()
18 | cava_input = [int(i) for i in cava_input]
19 | output = ''
20 | for bar in cava_input:
21 | if bar < len(ramp_list):
22 | output += ramp_list[bar]
23 |
24 | else:
25 | output += ramp_list[-1]
26 |
27 | print(output)
28 |
29 | parser = argparse.ArgumentParser()
30 | parser.add_argument('-f', '--framerate', type=int, default=60,
31 | help='Framerate to be used by cava, default is 60')
32 | parser.add_argument('-b', '--bars', type=int, default=8,
33 | help='Amount of bars, default is 8')
34 | parser.add_argument('-e', '--extra_colors', default='fdd,fcc,fbb,faa',
35 | help='Color gradient used on higher values, separated by commas, default is')
36 | parser.add_argument('-c', '--channels', choices=['stereo', 'left', 'right', 'average'],
37 | help='Audio channels to be used, defaults to stereo')
38 |
39 | opts = parser.parse_args()
40 | conf_channels = ''
41 | if opts.channels != 'stereo':
42 | conf_channels = (
43 | 'channels=mono\n'
44 | f'mono_option={opts.channels}'
45 | )
46 |
47 | conf_ascii_max_range = 12 + len([i for i in opts.extra_colors.split(',') if i])
48 |
49 | cava_conf = tempfile.mkstemp('','polybar-cava-conf.')[1]
50 | with open(cava_conf, 'w') as cava_conf_file:
51 | cava_conf_file.write(
52 | '[general]\n'
53 | f'framerate={opts.framerate}\n'
54 | f'bars={opts.bars}\n'
55 | '[output]\n'
56 | 'method=raw\n'
57 | 'data_format=ascii\n'
58 | f'ascii_max_range={conf_ascii_max_range}\n'
59 | 'bar_delimiter=32\n'
60 | + conf_channels
61 | )
62 |
63 | cava_proc = subprocess.Popen(['cava', '-p', cava_conf], stdout=subprocess.PIPE)
64 | self_proc = subprocess.Popen(['python3', __file__, '--subproc', opts.extra_colors], stdin=cava_proc.stdout)
65 |
66 | def cleanup(sig, frame):
67 | os.remove(cava_conf)
68 | cava_proc.kill()
69 | self_proc.kill()
70 | sys.exit(0)
71 |
72 | signal.signal(signal.SIGTERM, cleanup)
73 | signal.signal(signal.SIGINT, cleanup)
74 |
75 | self_proc.wait()
76 |
--------------------------------------------------------------------------------
/config/polybar/scripts/nvidia-mem.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits | awk '{ print " ", ""$1"","%"}'
3 | # nvidia_mem(){
4 | MEM_USE=$(nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits)
5 | MEM_TOTAL=$(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits)
6 | MEM_USE_PERCENT=$(($MEM_USE/$MEM_TOTAL))
7 | per=100
8 | echo "$MEM_USE $MEM_TOTAL $per"| awk '{printf(" %d %\n" , $1/$2*$3) }'
9 | # }
10 |
11 | # nvidia-mem()
12 |
--------------------------------------------------------------------------------
/config/polybar/scripts/nvidia-tem.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | awk '{ print " ", ""$1"","%"}'
3 |
--------------------------------------------------------------------------------
/config/polybar/scripts/nvidia-use.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | awk '{ print " ", ""$1"","%"}'
3 |
--------------------------------------------------------------------------------
/config/polybar/scripts/yay.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
4 | updates_arch=0
5 | fi
6 |
7 | if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
8 | # if ! updates_aur=$(paru -Qum 2> /dev/null | wc -l); then
9 | # if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
10 | # if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
11 | # if ! updates_aur=$(pikaur -Qua 2> /dev/null | wc -l); then
12 | # if ! updates_aur=$(rua upgrade --printonly 2> /dev/null | wc -l); then
13 | updates_aur=0
14 | fi
15 |
16 | updates=$((updates_arch + updates_aur))
17 |
18 | if [ "$updates" -gt 0 ]; then
19 | echo "# $updates"
20 | else
21 | echo ""
22 | fi
23 |
--------------------------------------------------------------------------------
/config/ranger/commands.py:
--------------------------------------------------------------------------------
1 | # This is a sample commands.py. You can add your own commands here.
2 | #
3 | # Please refer to commands_full.py for all the default commands and a complete
4 | # documentation. Do NOT add them all here, or you may end up with defunct
5 | # commands when upgrading ranger.
6 |
7 | # A simple command for demonstration purposes follows.
8 | # -----------------------------------------------------------------------------
9 |
10 | from __future__ import absolute_import, division, print_function
11 |
12 | # You can import any python module as needed.
13 | import os
14 |
15 | # You always need to import ranger.api.commands here to get the Command class:
16 | from ranger.api.commands import Command
17 |
18 |
19 | # Any class that is a subclass of "Command" will be integrated into ranger as a
20 | # command. Try typing ":my_edit" in ranger!
21 | class my_edit(Command):
22 | # The so-called doc-string of the class will be visible in the built-in
23 | # help that is accessible by typing "?c" inside ranger.
24 | """:my_edit
25 |
26 | A sample command for demonstration purposes that opens a file in an editor.
27 | """
28 |
29 | # The execute method is called when you run this command in ranger.
30 | def execute(self):
31 | # self.arg(1) is the first (space-separated) argument to the function.
32 | # This way you can write ":my_edit somefilename".
33 | if self.arg(1):
34 | # self.rest(1) contains self.arg(1) and everything that follows
35 | target_filename = self.rest(1)
36 | else:
37 | # self.fm is a ranger.core.filemanager.FileManager object and gives
38 | # you access to internals of ranger.
39 | # self.fm.thisfile is a ranger.container.file.File object and is a
40 | # reference to the currently selected file.
41 | target_filename = self.fm.thisfile.path
42 |
43 | # This is a generic function to print text in ranger.
44 | self.fm.notify("Let's edit the file " + target_filename + "!")
45 |
46 | # Using bad=True in fm.notify allows you to print error messages:
47 | if not os.path.exists(target_filename):
48 | self.fm.notify("The given file does not exist!", bad=True)
49 | return
50 |
51 | # This executes a function from ranger.core.acitons, a module with a
52 | # variety of subroutines that can help you construct commands.
53 | # Check out the source, or run "pydoc ranger.core.actions" for a list.
54 | self.fm.edit_file(target_filename)
55 |
56 | # The tab method is called when you press tab, and should return a list of
57 | # suggestions that the user will tab through.
58 | # tabnum is 1 for and -1 for by default
59 | def tab(self, tabnum):
60 | # This is a generic tab-completion function that iterates through the
61 | # content of the current directory.
62 | return self._tab_directory_content()
63 |
64 |
65 | class fzf_select(Command):
66 | """
67 | :fzf_select
68 | Find a file using fzf.
69 | With a prefix argument to select only directories.
70 |
71 | See: https://github.com/junegunn/fzf
72 | """
73 |
74 | def execute(self):
75 | import subprocess
76 | import os
77 | from ranger.ext.get_executables import get_executables
78 |
79 | if "fzf" not in get_executables():
80 | self.fm.notify("Could not find fzf in the PATH.", bad=True)
81 | return
82 |
83 | fd = None
84 | if "fdfind" in get_executables():
85 | fd = "fdfind"
86 | elif "fd" in get_executables():
87 | fd = "fd"
88 |
89 | if fd is not None:
90 | hidden = "--hidden" if self.fm.settings.show_hidden else ""
91 | exclude = "--no-ignore-vcs --exclude={.wine,.git,.idea,.vscode,.sass-cache,node_modules,build,.local,.steam,.m2,.rangerdir,.ssh,.ghidra,.mozilla} --exclude '*.py[co]' --exclude '__pycache__'"
92 | only_directories = "--type directory" if self.quantifier else ""
93 | fzf_default_command = "{} --follow {} {} {} --color=always".format(
94 | fd, hidden, exclude, only_directories
95 | )
96 | else:
97 | hidden = (
98 | "-false" if self.fm.settings.show_hidden else r"-path '*/\.*' -prune"
99 | )
100 | exclude = r"\( -name '\.git' -o -iname '\.*py[co]' -o -fstype 'dev' -o -fstype 'proc' \) -prune"
101 | only_directories = "-type d" if self.quantifier else ""
102 | fzf_default_command = (
103 | "find -L . -mindepth 1 {} -o {} -o {} -print | cut -b3-".format(
104 | hidden, exclude, only_directories
105 | )
106 | )
107 |
108 | env = os.environ.copy()
109 | env["FZF_DEFAULT_COMMAND"] = fzf_default_command
110 | env[
111 | "FZF_DEFAULT_OPTS"
112 | ] = '--height=100% --layout=reverse --ansi --preview="{}"'.format(
113 | """
114 | (
115 | ~/Tools/Other/fzf-scope.sh {} ||
116 | #batcat --color=always {} ||
117 | #bat --color=always {} ||
118 | #cat {} ||
119 | tree -ahpCL 3 -I '.git' -I '*.py[co]' -I '__pycache__' {}
120 | ) 2>/dev/null | head -n 100
121 | """
122 | )
123 |
124 | fzf = self.fm.execute_command(
125 | "fzf --no-multi", env=env, universal_newlines=True, stdout=subprocess.PIPE
126 | )
127 | stdout, _ = fzf.communicate()
128 | if fzf.returncode == 0:
129 | selected = os.path.abspath(stdout.strip())
130 | if os.path.isdir(selected):
131 | self.fm.cd(selected)
132 | else:
133 | self.fm.select_file(selected)
134 |
--------------------------------------------------------------------------------
/config/ranger/plugins/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/config/ranger/plugins/__init__.py
--------------------------------------------------------------------------------
/config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pyc
--------------------------------------------------------------------------------
/config/rofi/catppuccin-frappe.rasi:
--------------------------------------------------------------------------------
1 | /**
2 | * Nordic rofi theme
3 | * Adapted by undiabler
4 | *
5 | * Nord Color palette imported from https://www.nordtheme.com/
6 | *
7 | */
8 |
9 | configuration {
10 | font: "JetBrainsMono NL Medium 10";
11 |
12 | drun {
13 | display-name: "";
14 | }
15 |
16 | run {
17 | display-name: "";
18 | }
19 |
20 | window {
21 | display-name: "";
22 | }
23 |
24 | timeout {
25 | delay: 10;
26 | action: "kb-cancel";
27 | }
28 | }
29 |
30 | * {
31 | border: 0;
32 | margin: 0;
33 | padding: 0;
34 | spacing: 0;
35 |
36 | /* bg: #2E3440; */
37 | /* bg-alt: #3B4252; */
38 | /* fg: #81A1C1; */
39 | /* fg-alt: #EBCB8B; */
40 | bg: #303446;
41 | bg-alt: #414559;
42 | /* border-col: #303446; */
43 | /* selected-col: #303446; */
44 | blue: #8caaee;
45 | fg: #c6d0f5;
46 | fg-alt: #e78284;
47 | grey: #737994;
48 |
49 | background-color: @bg;
50 | text-color: @fg;
51 | transparent: rgba(46,52,64,0);
52 | }
53 |
54 |
55 | window {
56 | location: center;
57 | anchor: center;
58 | transparency: "screenshot";
59 | /* padding: 10px; */
60 | border: 0px;
61 | /* border-radius: 6px; */
62 | width: 700px;
63 |
64 | background-color: @transparent;
65 | spacing: 0;
66 | children: [mainbox];
67 | orientation: horizontal;
68 | }
69 |
70 | mainbox {
71 | children: [inputbar, listview];
72 | }
73 |
74 | inputbar {
75 | background-color: @bg-alt;
76 | children: [prompt, entry];
77 | }
78 |
79 | entry {
80 | background-color: inherit;
81 | padding: 12px 3px;
82 | }
83 |
84 | prompt {
85 | background-color: inherit;
86 | padding: 12px;
87 | }
88 |
89 | listview {
90 | lines: 8;
91 | }
92 |
93 | element {
94 | children: [element-icon, element-text];
95 | }
96 |
97 | element-icon {
98 | padding: 10px 10px;
99 | }
100 |
101 | element-text {
102 | padding: 10px 0;
103 | }
104 |
105 | element-text selected {
106 | text-color: @fg-alt;
107 | }
108 |
--------------------------------------------------------------------------------
/config/rofi/colors.rasi:
--------------------------------------------------------------------------------
1 | /* colors */
2 |
3 | * {
4 | al: #00000000;
5 | bg: #24273A;
6 | se: #1E1E2E;
7 | fg: #BF616A;
8 | ac: #24273A;
9 | }
10 |
--------------------------------------------------------------------------------
/config/rofi/config-cat.rasi:
--------------------------------------------------------------------------------
1 | /** Basic config file **/
2 |
3 | configuration {
4 | show-icons: true;
5 | modi: "window,drun,ssh,run,filebrowser,file-browser-extended";
6 | }
7 |
8 | @theme "catppuccin-frappe"
9 |
10 |
--------------------------------------------------------------------------------
/config/rofi/config-nord.rasi:
--------------------------------------------------------------------------------
1 | /** Basic config file **/
2 |
3 | configuration {
4 | show-icons: true;
5 | modi: "window,drun,ssh,run,filebrowser,file-browser-extended";
6 | }
7 |
8 | @theme "nord"
9 |
10 |
--------------------------------------------------------------------------------
/config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | /** Basic config file **/
2 |
3 | configuration {
4 | show-icons: true;
5 | modi: "window,drun,ssh,run,filebrowser";
6 | }
7 |
8 | @theme "nord"
9 |
10 |
--------------------------------------------------------------------------------
/config/rofi/launcher.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | theme="nord"
3 | dir="$HOME/.config/rofi/"
4 |
5 | # catppuccin
6 | ALPHA="#00000000"
7 | BG="#24273A"
8 | FG="#BF616A"
9 | SELECT="#1E1E2E"
10 | ACCENT="#24273A"
11 |
12 | # nord
13 | #ALPHA="#00000000"
14 | #BG="#3B4253"
15 | #FG="#BF616A"
16 | #SELECT="#343a46"
17 | #ACCENT="#3B4252"
18 |
19 | # overwrite colors file
20 | cat > $dir/colors.rasi <<- EOF
21 | /* colors */
22 |
23 | * {
24 | al: $ALPHA;
25 | bg: $BG;
26 | se: $SELECT;
27 | fg: $FG;
28 | ac: $ACCENT;
29 | }
30 | EOF
31 |
32 | rofi -no-lazy-grab -show drun -modi drun -theme $dir/"$theme"
33 |
34 |
--------------------------------------------------------------------------------
/config/rofi/lock_i3.sh:
--------------------------------------------------------------------------------
1 | #betterlockscreen --lock
2 | i3lock \
3 |
--------------------------------------------------------------------------------
/config/rofi/nord.rasi:
--------------------------------------------------------------------------------
1 | /**
2 | * Nordic rofi theme
3 | * Adapted by undiabler
4 | *
5 | * Nord Color palette imported from https://www.nordtheme.com/
6 | *
7 | */
8 |
9 | configuration {
10 | font: "JetBrainsMono NL Medium 10";
11 |
12 | drun {
13 | display-name: "";
14 | }
15 |
16 | run {
17 | display-name: "";
18 | }
19 |
20 | window {
21 | display-name: "";
22 | }
23 |
24 | timeout {
25 | delay: 10;
26 | action: "kb-cancel";
27 | }
28 | }
29 |
30 | * {
31 | border: 0;
32 | margin: 0;
33 | padding: 0;
34 | spacing: 0;
35 |
36 | bg: #2E3440;
37 | bg-alt: #3B4252;
38 | fg: #81A1C1;
39 | fg-alt: #EBCB8B;
40 |
41 | background-color: @bg;
42 | text-color: @fg;
43 | transparent: rgba(46,52,64,0);
44 | }
45 |
46 |
47 | window {
48 | location: center;
49 | anchor: center;
50 | transparency: "screenshot";
51 | /* padding: 10px; */
52 | border: 0px;
53 | /* border-radius: 6px; */
54 | width: 700px;
55 |
56 | background-color: @transparent;
57 | spacing: 0;
58 | children: [mainbox];
59 | orientation: horizontal;
60 | }
61 |
62 | mainbox {
63 | children: [inputbar, listview];
64 | }
65 |
66 | inputbar {
67 | background-color: @bg-alt;
68 | children: [prompt, entry];
69 | }
70 |
71 | entry {
72 | background-color: inherit;
73 | padding: 12px 3px;
74 | }
75 |
76 | prompt {
77 | background-color: inherit;
78 | padding: 12px;
79 | }
80 |
81 | listview {
82 | lines: 8;
83 | }
84 |
85 | element {
86 | children: [element-icon, element-text];
87 | }
88 |
89 | element-icon {
90 | padding: 10px 10px;
91 | }
92 |
93 | element-text {
94 | padding: 10px 0;
95 | }
96 |
97 | element-text selected {
98 | text-color: @fg-alt;
99 | }
100 |
--------------------------------------------------------------------------------
/config/rofi/off.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 | set -u
4 |
5 | # All supported choices
6 | # all=(shutdown reboot suspend hibernate logout lockscreen)
7 | all=(shutdown reboot suspend hibernate logout )
8 |
9 | # By default, show all (i.e., just copy the array)
10 | show=("${all[@]}")
11 |
12 | declare -A texts
13 | #texts[lockscreen]="lock screen"
14 | texts[logout]="logout"
15 | texts[suspend]="suspend"
16 | texts[hibernate]="hibernate"
17 | texts[reboot]="reboot"
18 | texts[shutdown]="shutdown"
19 |
20 | declare -A icons
21 | # icons[lockscreen]="\uf023"
22 | icons[logout]=""
23 | icons[suspend]=""
24 | icons[hibernate]=""
25 | icons[reboot]=""
26 | icons[shutdown]="⏻"
27 | icons[cancel]="\u00d7"
28 |
29 | declare -A actions
30 | #actions[lockscreen]="sh $HOME/.config/sway/swaylock.sh"
31 | actions[logout]="i3-msg exit, mode \"default\""
32 | #actions[logout]="loginctl terminate-session ${XDG_SESSION_ID-}"
33 | actions[suspend]="systemctl suspend"
34 | actions[hibernate]="systemctl hibernate"
35 | actions[reboot]="systemctl reboot"
36 | actions[shutdown]="systemctl poweroff"
37 |
38 | # By default, ask for confirmation for actions that are irreversible
39 | confirmations=(reboot shutdown logout)
40 |
41 | # By default, no dry run
42 | dryrun=false
43 | showsymbols=true
44 |
45 | function check_valid {
46 | option="$1"
47 | shift 1
48 | for entry in "${@}"
49 | do
50 | if [ -z "${actions[$entry]+x}" ]
51 | then
52 | echo "Invalid choice in $1: $entry" >&2
53 | exit 1
54 | fi
55 | done
56 | }
57 |
58 |
59 | # Define the messages after parsing the CLI options so that it is possible to
60 | # configure them in the future.
61 |
62 | function write_message {
63 | icon="$1"
64 | text="$2"
65 | if [ "$showsymbols" = "true" ]
66 | then
67 | echo -n "\u200e$icon \u2068$text\u2069"
68 | else
69 | echo -n "$text"
70 | fi
71 | }
72 |
73 | function print_selection {
74 | echo -e "$1" | $(read -r -d '' entry; echo "echo $entry")
75 | }
76 |
77 | declare -A messages
78 | declare -A confirmationMessages
79 | for entry in "${all[@]}"
80 | do
81 | messages[$entry]=$(write_message "${icons[$entry]}" "${texts[$entry]^}")
82 | done
83 | for entry in "${all[@]}"
84 | do
85 | confirmationMessages[$entry]=$(write_message "${icons[$entry]}" "Yes, ${texts[$entry]}")
86 | done
87 | confirmationMessages[cancel]=$(write_message "${icons[cancel]}" "No, cancel")
88 |
89 | if [ $# -gt 0 ]
90 | then
91 | # If arguments given, use those as the selection
92 | selection="${@}"
93 | else
94 | # Otherwise, use the CLI passed choice if given
95 | if [ -n "${selectionID+x}" ]
96 | then
97 | selection="${messages[$selectionID]}"
98 | fi
99 | fi
100 |
101 | # Don't allow custom entries
102 | echo -e "\0no-custom\x1ftrue"
103 | # Use markup
104 | echo -e "\0markup-rows\x1ftrue"
105 |
106 | if [ -z "${selection+x}" ]
107 | then
108 | echo -e "\0prompt\x1fPower menu"
109 | for entry in "${show[@]}"
110 | do
111 | echo -e "${messages[$entry]}\0icon\x1f${icons[$entry]}"
112 | done
113 | else
114 | for entry in "${show[@]}"
115 | do
116 | if [ "$selection" = "$(print_selection "${messages[$entry]}")" ]
117 | then
118 | # Check if the selected entry is listed in confirmation requirements
119 | for confirmation in "${confirmations[@]}"
120 | do
121 | if [ "$entry" = "$confirmation" ]
122 | then
123 | # Ask for confirmation
124 | echo -e "\0prompt\x1fAre you sure"
125 | echo -e "${confirmationMessages[$entry]}\0icon\x1f${icons[$entry]}"
126 | echo -e "${confirmationMessages[cancel]}\0icon\x1f${icons[cancel]}"
127 | exit 0
128 | fi
129 | done
130 | # If not, then no confirmation is required, so mark confirmed
131 | selection=$(print_selection "${confirmationMessages[$entry]}")
132 | fi
133 | if [ "$selection" = "$(print_selection "${confirmationMessages[$entry]}")" ]
134 | then
135 | if [ $dryrun = true ]
136 | then
137 | # Tell what would have been done
138 | echo "Selected: $entry" >&2
139 | else
140 | # Perform the action
141 | ${actions[$entry]}
142 | fi
143 | exit 0
144 | fi
145 | if [ "$selection" = "$(print_selection "${confirmationMessages[cancel]}")" ]
146 | then
147 | # Do nothing
148 | exit 0
149 | fi
150 | done
151 | # The selection didn't match anything, so raise an error
152 | echo "Invalid selection: $selection" >&2
153 | exit 1
154 | fi
155 |
--------------------------------------------------------------------------------
/config/rofi/powermenu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | rofi -show p -modi p:~/.config/rofi/off.sh -theme ~/.config/rofi/nord.rasi
3 |
--------------------------------------------------------------------------------
/config/zathura/zathurarc:
--------------------------------------------------------------------------------
1 | set selection-clipboard clipboard
2 |
3 | set recolor true
4 | set guioptions ""
5 |
6 |
7 | set notification-error-bg "#2E3440"
8 | set notification-error-fg "#BF616A"
9 | set notification-warning-bg "#2E3440"
10 | set notification-warning-fg "#D08770"
11 | set notification-bg "#2E3440"
12 | set notification-fg "#D8DEE9"
13 |
14 | set completion-bg "#2E3440"
15 | set completion-fg "#D8DEE9"
16 | set completion-group-bg "#3B4252"
17 | set completion-group-fg "#D8DEE9"
18 | set completion-highlight-bg "#88C0D0"
19 | set completion-highlight-fg "#3B4252"
20 |
21 | set index-bg "#2E3440"
22 | set index-fg "#8FBCBB"
23 | set index-active-bg "#8FBCBB"
24 | set index-active-fg "#2E3440"
25 |
26 | set inputbar-bg "#2E3440"
27 | set inputbar-fg "#E5E9F0"
28 |
29 | set statusbar-bg "#2E3440"
30 | set statusbar-fg "#E5E9F0"
31 |
32 | set highlight-color "#D08770"
33 | set highlight-active-color "#BF616A"
34 |
35 | set default-bg "#2E3440"
36 | set default-fg "#D8DEE9"
37 | set render-loading "true"
38 | set render-loading-bg "#2E3440"
39 | set render-loading-fg "#434C5E"
40 |
41 | set recolor-lightcolor "#2E3440"
42 | set recolor-darkcolor "#ECEFF4"
43 |
--------------------------------------------------------------------------------
/config/zathura/zathurarc-cat:
--------------------------------------------------------------------------------
1 | set selection-clipboard clipboard
2 |
3 | set recolor true
4 | set guioptions ""
5 |
6 | set default-fg "#C6D0F5"
7 | set default-bg "#303446"
8 |
9 | set completion-bg "#414559"
10 | set completion-fg "#C6D0F5"
11 | set completion-highlight-bg "#575268"
12 | set completion-highlight-fg "#C6D0F5"
13 | set completion-group-bg "#414559"
14 | set completion-group-fg "#8CAAEE"
15 |
16 | set statusbar-fg "#C6D0F5"
17 | set statusbar-bg "#414559"
18 |
19 | set notification-bg "#414559"
20 | set notification-fg "#C6D0F5"
21 | set notification-error-bg "#414559"
22 | set notification-error-fg "#E78284"
23 | set notification-warning-bg "#414559"
24 | set notification-warning-fg "#FAE3B0"
25 |
26 | set inputbar-fg "#C6D0F5"
27 | set inputbar-bg "#414559"
28 |
29 | set recolor-lightcolor "#303446"
30 | set recolor-darkcolor "#C6D0F5"
31 |
32 | set index-fg "#C6D0F5"
33 | set index-bg "#303446"
34 | set index-active-fg "#C6D0F5"
35 | set index-active-bg "#414559"
36 |
37 | set render-loading-bg "#303446"
38 | set render-loading-fg "#C6D0F5"
39 |
40 | set highlight-color "#575268"
41 | set highlight-fg "#F4B8E4"
42 | set highlight-active-color "#F4B8E4"
43 |
--------------------------------------------------------------------------------
/config/zathura/zathurarc-nord:
--------------------------------------------------------------------------------
1 | set selection-clipboard clipboard
2 |
3 | set recolor true
4 | set guioptions ""
5 |
6 |
7 | set notification-error-bg "#2E3440"
8 | set notification-error-fg "#BF616A"
9 | set notification-warning-bg "#2E3440"
10 | set notification-warning-fg "#D08770"
11 | set notification-bg "#2E3440"
12 | set notification-fg "#D8DEE9"
13 |
14 | set completion-bg "#2E3440"
15 | set completion-fg "#D8DEE9"
16 | set completion-group-bg "#3B4252"
17 | set completion-group-fg "#D8DEE9"
18 | set completion-highlight-bg "#88C0D0"
19 | set completion-highlight-fg "#3B4252"
20 |
21 | set index-bg "#2E3440"
22 | set index-fg "#8FBCBB"
23 | set index-active-bg "#8FBCBB"
24 | set index-active-fg "#2E3440"
25 |
26 | set inputbar-bg "#2E3440"
27 | set inputbar-fg "#E5E9F0"
28 |
29 | set statusbar-bg "#2E3440"
30 | set statusbar-fg "#E5E9F0"
31 |
32 | set highlight-color "#D08770"
33 | set highlight-active-color "#BF616A"
34 |
35 | set default-bg "#2E3440"
36 | set default-fg "#D8DEE9"
37 | set render-loading "true"
38 | set render-loading-bg "#2E3440"
39 | set render-loading-fg "#434C5E"
40 |
41 | set recolor-lightcolor "#2E3440"
42 | set recolor-darkcolor "#ECEFF4"
43 |
--------------------------------------------------------------------------------
/packages.txt:
--------------------------------------------------------------------------------
1 | acpi
2 | acpi_call
3 | acpid
4 | adobe-source-code-pro-fonts
5 | adobe-source-han-serif-cn-fonts
6 | aichat
7 | alacritty
8 | aliyundrive-webdav
9 | alsa-utils
10 | amd-ucode
11 | android-tools
12 | arch-audit
13 | ark
14 | asar
15 | base
16 | base-devel
17 | bat
18 | betterlockscreen
19 | boost
20 | bottom
21 | brave-bin
22 | btrfs-progs
23 | cadaver
24 | cmake-language-server
25 | deluge
26 | deluge-gtk
27 | dex
28 | dnsmasq
29 | docker
30 | downgrade
31 | dua-cli
32 | duf
33 | dunst
34 | dust
35 | efibootmgr
36 | exa
37 | fastfetch
38 | fcitx5
39 | fcitx5-configtool
40 | fcitx5-gtk
41 | fcitx5-qt
42 | fcitx5-rime
43 | fd
44 | firefox
45 | firewalld
46 | fish
47 | flake8
48 | flameshot
49 | fzf
50 | gimp
51 | git
52 | git-delta
53 | gitui
54 | glm
55 | glmark2
56 | go
57 | gping
58 | grub
59 | gst-plugin-pipewire
60 | gummy
61 | gvfs
62 | gvfs-smb
63 | i3-wm
64 | i3blocks
65 | i3status
66 | icalingua++
67 | inkscape
68 | iptables-nft
69 | iwd
70 | jdk-openjdk
71 | jdtls
72 | jedi-language-server
73 | jre-openjdk
74 | jre-openjdk-headless
75 | kcolorchooser
76 | kdeconnect
77 | kdenlive
78 | kvantum
79 | libpulse
80 | libreoffice-still
81 | libva-mesa-driver
82 | libvirt
83 | light
84 | lightdm
85 | linux
86 | linux-firmware
87 | lldb
88 | llvm
89 | lsd
90 | lua-language-server
91 | marksman-bin
92 | meson
93 | miniconda3
94 | mpv
95 | mysql-workbench
96 | neofetch
97 | neovide
98 | neovim
99 | netease-cloud-music-gtk4
100 | networkmanager
101 | networkmanager-dmenu-git
102 | ninja
103 | noto-fonts-cjk
104 | noto-fonts-emoji
105 | noto-fonts-extra
106 | npm
107 | ntfs-3g
108 | nvm
109 | obs-studio
110 | opencv
111 | opencv-samples
112 | openjdk-doc
113 | openmp
114 | openmpi
115 | openssh
116 | packagekit
117 | packagekit-qt5
118 | pandoc-bin
119 | paru
120 | pdfmod
121 | pdftk
122 | picom
123 | pipewire
124 | pipewire-alsa
125 | pipewire-jack
126 | pipewire-pulse
127 | plasma-framework
128 | playerctl
129 | polybar
130 | prettier
131 | procs
132 | psensor
133 | pyright
134 | python-beautifulsoup4
135 | python-black
136 | python-installer
137 | python-lsp-server
138 | python-pip
139 | python-pynvim
140 | qemu-desktop
141 | qt5-doc
142 | qt5ct
143 | qtcreator
144 | r
145 | radian
146 | ranger
147 | rime-cloverpinyin
148 | ripgrep
149 | ristretto
150 | rofi
151 | rofi-bluetooth-git
152 | rustdesk-bin
153 | rustup
154 | samba
155 | scrcpy
156 | screenkey
157 | sd
158 | sddm
159 | shotcut
160 | sshfs
161 | starship
162 | steam
163 | tealdeer
164 | telegram-desktop
165 | texlab
166 | texlive-basic
167 | texlive-bibtexextra
168 | texlive-fontsextra
169 | texlive-formatsextra
170 | texlive-langchinese
171 | texlive-langother
172 | texlive-latexextra
173 | texlive-mathscience
174 | texlive-pictures
175 | texlive-publishers
176 | thunar
177 | thunar-archive-plugin
178 | thunar-volman
179 | timeshift
180 | tlp
181 | tor-browser
182 | trash-cli
183 | ttf-iosevka-nerd
184 | ttf-jetbrains-mono
185 | ttf-jetbrains-mono-nerd
186 | ttf-ms-win11-auto-zh_cn
187 | typora
188 | typst
189 | typst-lsp-bin
190 | unrar
191 | v2ray
192 | v2raya-bin
193 | vim
194 | virt-manager
195 | virtualbox
196 | visual-studio-code-bin
197 | vlc
198 | vulkan-radeon
199 | w3m
200 | webkit2gtk
201 | wemeet-bin
202 | wget
203 | wireplumber
204 | wqy-zenhei
205 | xautolock
206 | xclip
207 | xf86-video-amdgpu
208 | xf86-video-ati
209 | xob
210 | xorg-server
211 | xorg-xinit
212 | xournalpp
213 | xss-lock
214 | yapf
215 | yarn
216 | yay
217 | yesplaymusic
218 | yt-dlp
219 | zathura
220 | zathura-cb
221 | zathura-djvu
222 | zathura-pdf-poppler
223 | zathura-ps
224 | zellij
225 | zoom
226 | zoxide
227 | zram-generator
228 | zsh
229 |
--------------------------------------------------------------------------------
/shots/2023-02-02_20-56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/shots/2023-02-02_20-56.png
--------------------------------------------------------------------------------
/shots/2023-02-02_21-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/shots/2023-02-02_21-06.png
--------------------------------------------------------------------------------
/startpage/README.md:
--------------------------------------------------------------------------------
1 | **This is my Nordic fork of [Bento by MiguelRAvila](https://github.com/MiguelRAvila/Bento), more details can be seen in original repo.**
2 |
--------------------------------------------------------------------------------
/startpage/css/style.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700&display=swap");
2 |
3 | /* V A R I A B L E S */
4 |
5 | :root {
6 | /* Fonts */
7 | --fsg: 135px; /* Time and Greetings */
8 | --fsm: 75px; /* Date */
9 | --fss: 25px; /* Greetings and Weather widger */
10 | --fses: 16px; /* Links List */
11 |
12 | /* Light theme */
13 | --accent: #88c0d0; /* Hover color */
14 | --bg: #eceff4; /* Background color */
15 | --sbg: #d8dee9; /* Cards color */
16 | --fg: #2e3440; /* Foreground color */
17 | --sfg: #3b4252; /* Sceondary Foreground color */
18 |
19 | /* Image background */
20 |
21 | /* Uncoment this section to get the
22 | image wallpaper. You can also
23 | change the --imgcol value
24 | to make the filter to your own */
25 |
26 | /* --imgbg: url(/img/wal.jpg); */
27 | --imgcol: linear-gradient(
28 | rgba(255, 255, 255, 0.7),
29 | rgba(255, 255, 255, 0.7)
30 | ); /* Filter color */
31 | }
32 |
33 | /* Dark theme */
34 | .darktheme {
35 | --accent: #5e81ac; /* Hover color */
36 | --bg: #2e3440; /* Background color */
37 | --sbg: #3b4252; /* Cards color */
38 | --fg: #eceff4; /* Foreground color */
39 | --sfg: #d8dee9; /* Secondary Foreground color */
40 | --imgcol: linear-gradient(
41 | rgba(0, 0, 0, 0.7),
42 | rgba(0, 0, 0, 0.7)
43 | ); /* Filter color */
44 | }
45 |
46 | /* S T Y L E S */
47 |
48 | * {
49 | margin: 0;
50 | padding: 0;
51 | box-sizing: border-box;
52 | font-family: "Open Sans", sans-serif;
53 | transition: 0.2s ease-in-out;
54 | }
55 |
56 | body {
57 | width: 100vw;
58 | height: 100vh;
59 | background-color: var(--bg);
60 | background-image: var(--imgcol), var(--imgbg);
61 | display: flex;
62 | align-items: center;
63 | justify-content: center;
64 | }
65 |
66 | #themeButton {
67 | position: absolute;
68 | margin: 2em 2em 0 0;
69 | right: 0;
70 | top: 0;
71 | color: var(--fg);
72 | border: none;
73 | cursor: pointer;
74 | background-color: #00000000;
75 | }
76 |
77 | #themeButton__icon {
78 | width: 25px;
79 | height: 25px;
80 | }
81 |
82 | .container {
83 | width: 145vh;
84 | height: 85vh;
85 | display: grid;
86 | grid-template-columns: repeat(4, 1fr);
87 | grid-template-rows: repeat(4, 1fr);
88 | grid-gap: 30px;
89 | padding: 20px;
90 | }
91 |
92 | .card {
93 | background-color: var(--sbg);
94 | box-shadow: 0 5px 7px rgba(0, 0, 0, 0.35);
95 | border-radius: 5px;
96 | }
97 | .card:hover {
98 | transform: translateY(-0.2rem);
99 | box-shadow: 0 10px 10px rgba(0, 0, 0, 0.35);
100 | }
101 |
102 | .timeBlock {
103 | grid-row: 1 / span 2;
104 | grid-column: 1 / span 2;
105 | display: flex;
106 | flex-direction: column;
107 | align-items: center;
108 | justify-content: center;
109 | }
110 |
111 | .weatherBlock {
112 | grid-column: 3 / span 2;
113 | grid-row: 1 / span 2;
114 | display: flex;
115 | flex-direction: column;
116 | align-items: center;
117 | justify-content: center;
118 | }
119 | .weatherBlock__date {
120 | display: flex;
121 | align-items: center;
122 | justify-content: center;
123 | margin-top: 30px;
124 | }
125 | .weatherBlock__weather {
126 | display: flex;
127 | align-items: center;
128 | justify-content: center;
129 | }
130 |
131 | .clock {
132 | display: flex;
133 | align-items: center;
134 | justify-content: center;
135 | }
136 |
137 | #hour,
138 | #separator,
139 | #minutes {
140 | font-size: var(--fsg);
141 | font-weight: bolder;
142 | color: var(--fg);
143 | }
144 |
145 | #month,
146 | #day {
147 | font-size: var(--fsm);
148 | font-weight: bold;
149 | color: var(--fg);
150 | }
151 |
152 | #day {
153 | margin-left: 20px;
154 | }
155 |
156 | #greetings {
157 | font-size: var(--fss);
158 | color: var(--fg);
159 | }
160 |
161 | .weather-icon img {
162 | width: 70px;
163 | height: 70px;
164 | }
165 |
166 | .temperature-value p {
167 | font-size: var(--fss);
168 | font-weight: bolder;
169 | margin-left: 15px;
170 | color: var(--fg);
171 | }
172 |
173 | .temperature-description p {
174 | font-size: var(--fss);
175 | margin-left: 15px;
176 | color: var(--fg);
177 | }
178 |
179 | .buttonLink {
180 | grid-row: 3 / span 2;
181 | grid-column: 1 / span 2;
182 | display: grid;
183 | grid-template-columns: repeat(3, 1fr);
184 | grid-template-rows: repeat(2, 1fr);
185 | grid-gap: 30px;
186 | padding: 20px;
187 | }
188 |
189 | .buttonLink__link {
190 | display: flex;
191 | justify-content: center;
192 | align-items: center;
193 | width: 100%;
194 | }
195 |
196 | .buttonLink__icon {
197 | width: 23px;
198 | height: 23px;
199 | color: var(--fg);
200 | }
201 |
202 | .buttonLink__link-1 {
203 | grid-row: 1;
204 | grid-column: 1;
205 | }
206 | .buttonLink__link-2 {
207 | grid-row: 1;
208 | grid-column: 2;
209 | }
210 | .buttonLink__link-3 {
211 | grid-row: 2;
212 | grid-column: 1;
213 | }
214 | .buttonLink__link-4 {
215 | grid-row: 2;
216 | grid-column: 2;
217 | }
218 | .buttonLink__link-5 {
219 | grid-row: 1;
220 | grid-column: 3;
221 | }
222 | .buttonLink__link-6 {
223 | grid-row: 2;
224 | grid-column: 3;
225 | }
226 | .buttonLink__link:hover {
227 | background-color: var(--accent);
228 | }
229 | .buttonLink__link:hover svg {
230 | stroke: var(--sfg);
231 | }
232 |
233 | .list {
234 | display: flex;
235 | align-items: center;
236 | flex-direction: column;
237 | }
238 |
239 | .list__1 {
240 | grid-column: 3;
241 | grid-row: 3 / span 2;
242 | }
243 | .list__2 {
244 | grid-column: 4;
245 | grid-row: 3 / span 2;
246 | }
247 | .list__head {
248 | margin-top: 30px;
249 | margin-bottom: 10px;
250 | width: 30px;
251 | color: var(--fg);
252 | height: 30px;
253 | }
254 | .list__link {
255 | text-decoration: none;
256 | font-size: var(--fses);
257 | color: var(--fg);
258 | margin-top: 1px;
259 | padding: 6px 12px;
260 | border-radius: 5px;
261 | font-weight: bold;
262 | }
263 | .list__link:hover {
264 | background-color: var(--accent);
265 | color: var(--sfg);
266 | }
267 |
268 | /* M E D I A - Q U E R I E S */
269 |
270 | @media only screen and (max-width: 68.75em) {
271 | :root {
272 | --fsg: 100px;
273 | --fsm: 65px;
274 | --fss: 20px;
275 | }
276 |
277 | .container {
278 | grid-gap: 20px;
279 | padding: 40px;
280 | }
281 |
282 | .timeBlock {
283 | grid-row: 1 / span 2;
284 | grid-column: 1 / span 4;
285 | }
286 |
287 | .weatherBlock {
288 | display: none;
289 | }
290 |
291 | #greetings {
292 | font-size: var(--fss);
293 | }
294 |
295 | .list {
296 | display: none;
297 | }
298 |
299 | .buttonLink {
300 | grid-column: 1 / span 4;
301 | grid-gap: 20px;
302 | padding-left: 100px;
303 | padding-right: 100px;
304 | }
305 | }
306 |
--------------------------------------------------------------------------------
/startpage/icons/Nord/01d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/01d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/01n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/02d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/02d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/02n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/03d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/03d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/03n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/04d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/04d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/04n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/09d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/09d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/09n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/09n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/10d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/10d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/10n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/11d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/11d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/11n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/11n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/13d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/13d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/13n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/13n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/50d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/50d.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/50n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/50n.png
--------------------------------------------------------------------------------
/startpage/icons/Nord/unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/Nord/unknown.png
--------------------------------------------------------------------------------
/startpage/icons/White/01d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/01d.png
--------------------------------------------------------------------------------
/startpage/icons/White/01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/01n.png
--------------------------------------------------------------------------------
/startpage/icons/White/02d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/02d.png
--------------------------------------------------------------------------------
/startpage/icons/White/02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/02n.png
--------------------------------------------------------------------------------
/startpage/icons/White/03d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/03d.png
--------------------------------------------------------------------------------
/startpage/icons/White/03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/03n.png
--------------------------------------------------------------------------------
/startpage/icons/White/04d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/04d.png
--------------------------------------------------------------------------------
/startpage/icons/White/04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/04n.png
--------------------------------------------------------------------------------
/startpage/icons/White/09d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/09d.png
--------------------------------------------------------------------------------
/startpage/icons/White/09n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/09n.png
--------------------------------------------------------------------------------
/startpage/icons/White/10d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/10d.png
--------------------------------------------------------------------------------
/startpage/icons/White/10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/10n.png
--------------------------------------------------------------------------------
/startpage/icons/White/11d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/11d.png
--------------------------------------------------------------------------------
/startpage/icons/White/11n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/11n.png
--------------------------------------------------------------------------------
/startpage/icons/White/13d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/13d.png
--------------------------------------------------------------------------------
/startpage/icons/White/13n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/13n.png
--------------------------------------------------------------------------------
/startpage/icons/White/50d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/50d.png
--------------------------------------------------------------------------------
/startpage/icons/White/50n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/50n.png
--------------------------------------------------------------------------------
/startpage/icons/White/unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/White/unknown.png
--------------------------------------------------------------------------------
/startpage/icons/g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/icons/g.png
--------------------------------------------------------------------------------
/startpage/img/gnu-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/startpage/img/gnu-linux.png
--------------------------------------------------------------------------------
/startpage/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Charles's StartPage
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
29 |
30 |
31 |
32 |
33 |
37 |
38 |
39 |

40 |
41 |
44 |
47 |
48 |
49 |
50 |
51 |
52 |
90 |
91 |
92 |
93 |
116 |
117 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
144 |
145 |
146 |
147 |
148 |
--------------------------------------------------------------------------------
/startpage/js/greeting.js:
--------------------------------------------------------------------------------
1 | // Get the hour
2 | const today = new Date();
3 | const hour = today.getHours();
4 |
5 | // Here you can change your name
6 | const name = ' Charles ';
7 |
8 | // Here you can change your greetings
9 | const gree1 = 'Go to Sleep! ';
10 | const gree2 = 'Good morning! ';
11 | const gree3 = 'Good afternoon ';
12 | const gree4 = 'Good evening, ';
13 | const gree5 = 'Good evening, ';
14 | const gree6 = 'Good evening, ';
15 |
16 | // Define the hours of the greetings
17 | if (hour >= 23 && hour < 5) {
18 | document.getElementById('greetings').innerText = gree1 + name;
19 | } else if (hour >= 6 && hour < 12) {
20 | document.getElementById('greetings').innerText = gree2 + name;
21 | } else if (hour >= 12 && hour < 19) {
22 | document.getElementById('greetings').innerText = gree3 + name;
23 | } else {
24 | document.getElementById('greetings').innerText = gree4 + name;
25 | }
26 |
--------------------------------------------------------------------------------
/startpage/js/theme.js:
--------------------------------------------------------------------------------
1 | // Store the theme
2 | let darkTheme = localStorage.getItem("darkTheme");
3 | const themeToggle = document.querySelector("#themeButton");
4 |
5 | // Apply Dark theme
6 | const enableDark = () => {
7 | document.body.classList.add("darktheme");
8 | localStorage.setItem("darkTheme", "enabled");
9 | themeToggle.innerHTML = ``;
10 | feather.replace();
11 | };
12 |
13 | // Remove Dark theme
14 | const disableDark = () => {
15 | document.body.classList.remove("darktheme");
16 | localStorage.setItem("darkTheme", null);
17 | themeToggle.innerHTML = ``;
18 | feather.replace();
19 | };
20 |
21 | //Toggle theme
22 | if (darkTheme === "enabled") {
23 | enableDark();
24 | } else {
25 | disableDark();
26 | }
27 |
28 | themeToggle.addEventListener("click", () => {
29 | darkTheme = localStorage.getItem("darkTheme");
30 | if (darkTheme !== "enabled") {
31 | enableDark();
32 | } else {
33 | disableDark();
34 | }
35 | });
36 |
37 | enableDark();
38 | // Theme accordint the hour
39 |
40 | /*
41 | const today = new Date();
42 |
43 | if (hour >= 19 || hour < 5) {
44 | enableDark();
45 | } else {
46 | disableDark();
47 | }
48 | */
49 |
--------------------------------------------------------------------------------
/startpage/js/time.js:
--------------------------------------------------------------------------------
1 | window.onload = displayClock();
2 | function displayClock() {
3 | const monthNames = [
4 | 'Jan',
5 | 'Feb',
6 | 'Mar',
7 | 'Apr',
8 | 'May',
9 | 'Jun',
10 | 'Jul',
11 | 'Aug',
12 | 'Sep',
13 | 'Oct',
14 | 'Nov',
15 | 'Dec',
16 | ];
17 |
18 | // Set to true to use a 12 hour date format
19 | var format_12hour = false;
20 |
21 | var d = new Date();
22 | var mm = monthNames[d.getMonth()];
23 | var dd = d.getDate();
24 | var min = (mins = ('0' + d.getMinutes()).slice(-2));
25 | var hh = d.getHours();
26 | var ampm = '';
27 |
28 | if (format_12hour) {
29 | ampm = hh >= 12 ? ' pm' : ' am';
30 | hh = hh % 12;
31 | hh = hh ? hh : 12; //show mod 0 as 12
32 | }
33 |
34 | document.getElementById('hour').innerText = hh;
35 | document.getElementById('separator').innerHTML = ' : ';
36 | document.getElementById('minutes').innerText = min + ampm;
37 |
38 | document.getElementById('month').innerText = mm;
39 | document.getElementById('day').innerText = dd;
40 |
41 | setTimeout(displayClock, 1000);
42 | }
43 |
--------------------------------------------------------------------------------
/startpage/js/weather.js:
--------------------------------------------------------------------------------
1 | const iconElement = document.querySelector('.weather-icon');
2 | const tempElement = document.querySelector('.temperature-value p');
3 | const descElement = document.querySelector('.temperature-description p');
4 |
5 | // App data
6 | const weather = {};
7 | weather.temperature = {
8 | unit: 'celsius',
9 | };
10 |
11 | // Change to 'F' for Fahrenheit
12 | var tempUnit = 'C';
13 |
14 | const KELVIN = 273.15;
15 | // Use your own key for the Weather, Get it here: https://openweathermap.org/
16 | const key = 'eaf0bf95962bd42471d02500acc89aa1';
17 |
18 | // Set Position function
19 | setPosition();
20 |
21 | function setPosition(position) {
22 | // Here you can change your position
23 | // You can use https://www.latlong.net/ to get it! (I use San Francisco as an example)
24 | let latitude = 22.129090;
25 | let longitude = 113.544140;
26 |
27 | getWeather(latitude, longitude);
28 | }
29 |
30 | // Get the Weather data
31 | function getWeather(latitude, longitude) {
32 | let api = `https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${key}`;
33 |
34 | console.log(api);
35 |
36 | fetch(api)
37 | .then(function (response) {
38 | let data = response.json();
39 | return data;
40 | })
41 | .then(function (data) {
42 | let celsius = Math.floor(data.main.temp - KELVIN);
43 | weather.temperature.value =
44 | tempUnit == 'C' ? celsius : (celsius * 9) / 5 + 32;
45 | weather.description = data.weather[0].description;
46 | weather.iconId = data.weather[0].icon;
47 | })
48 | .then(function () {
49 | displayWeather();
50 | });
51 | }
52 |
53 | // Display Weather info
54 | function displayWeather() {
55 | iconElement.innerHTML = `
`;
56 | tempElement.innerHTML = `${weather.temperature.value}°${tempUnit}`;
57 | descElement.innerHTML = weather.description;
58 | }
59 |
--------------------------------------------------------------------------------
/theme/Kvantum.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/Kvantum.tar.xz
--------------------------------------------------------------------------------
/theme/README.md:
--------------------------------------------------------------------------------
1 | See
2 | [https://github.com/EliverLara/Nordic](https://github.com/EliverLara/Nordic)
3 | and
4 | [https://github.com/zayronxio/Zafiro-Nord-Dark](https://github.com/zayronxio/Zafiro-Nord-Dark)
5 | and[https://github.com/catppuccin](https://github.com/catppuccin)
6 |
--------------------------------------------------------------------------------
/theme/icons/Nordic-cursors.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/icons/Nordic-cursors.tar.xz
--------------------------------------------------------------------------------
/theme/icons/Zafiro-Nord-Black.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/icons/Zafiro-Nord-Black.tar.xz
--------------------------------------------------------------------------------
/theme/sddm/Nor.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/sddm/Nor.tar.xz
--------------------------------------------------------------------------------
/theme/theme/Catppuccin-Frappe-Standard-Blue-Dark.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/theme/Catppuccin-Frappe-Standard-Blue-Dark.tar.xz
--------------------------------------------------------------------------------
/theme/theme/Nordic-darker-v40.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/theme/Nordic-darker-v40.zip
--------------------------------------------------------------------------------
/theme/theme/Nordic-darker.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/theme/theme/Nordic-darker.tar.xz
--------------------------------------------------------------------------------
/user/README.md:
--------------------------------------------------------------------------------
1 | ```
2 | ~/.zshrc
3 | ~/.xprofile
4 | ~/.gtkrc-2.0
5 | ~/.Xresources
6 | ```
7 |
--------------------------------------------------------------------------------
/user/Xresources:
--------------------------------------------------------------------------------
1 | ! Colours are in groups as the second one should be a brighter version.
2 |
3 | ! Background: black, dark grey
4 | #define _background #272822
5 | #define _color8 #303030
6 |
7 | ! Color1/foreground: light grey: standard files, cursor
8 | ! Color9: bright pink: soft link e.g. ln -s test1 imaginarytest
9 | #define _foreground #d0d0d0
10 | #define _color9 #ff0090
11 |
12 | ! Color2: dark green: world read/write dir e.g. /tmp
13 | ! Color10: bright green: binaries user can execute /bin
14 | #define _color2 #66AA11
15 | #define _color10 #80FF00
16 |
17 | ! Color3: medium brown: fifo e.g mkfifo fifotest
18 | ! Color11: light brown/sand: block special files e.g ls -l /dev/loop0
19 | #define _color3 #c47f2c
20 | #define _color11 #ffba68
21 |
22 | ! Color4: medium blue: FIXME: unused?
23 | ! Color12: light blue: directory
24 | #define _color4 #30309b
25 | #define _color12 #5f5fee
26 |
27 | ! Color5: dark purple: Not used in ls, in ranger (not sure where it gets it colors from though)
28 | ! Color13: light purple: socket file /var/run/dbus_system_bus_socket
29 | #define _color5 #7e40a5
30 | #define _color13 #bb88dd
31 |
32 | ! Color6: medium magenta: FIXME: unused?
33 | ! Color14: light magenta: symbolic links e.g. ~/Examples /bin/lsmod
34 | #define _color6 #3579A8
35 | #define _color14 #4eb4fa
36 |
37 | ! Color7: medium grey: setuid file e.g. /usr/bin/sudo
38 | ! Color15: light grey: background color for setuid files e.g /usr/bin/sudo
39 | #define _color7 #9999AA
40 | ! Trying white in case it helps
41 | #define _color15 #ffffff
42 | !#define _color15 #d0d0d0
43 |
44 | ! General - covering all X clients
45 | !*background: _background
46 | !*foreground: _foreground
47 | ! Not sure what this one does - Solarise had it at base3
48 | !*fadeColor: XXX ! Not sure what this does
49 |
50 | ! XTerm specific
51 | xterm*background: _background
52 | xterm*foreground: _foreground
53 |
54 | ! Not really required - XTerm defaults to using the foreground colour
55 | xterm*cursorColor: _foreground
56 |
57 | xterm*color0: _background
58 | xterm*color1: _foreground
59 | xterm*color2: _color2
60 | xterm*color3: _color3
61 | xterm*color4: _color4
62 | xterm*color5: _color5
63 | xterm*color6: _color6
64 | xterm*color7: _color7
65 | ! 8-15 are considered brighter colours of 1-7
66 | xterm*color8: _color8
67 | xterm*color9: _color9
68 | xterm*color10: _color10
69 | xterm*color11: _color11
70 | xterm*color12: _color12
71 | xterm*color13: _color13
72 | xterm*color14: _color14
73 | xterm*color15: _color15
74 |
75 | Xcursor.theme:Nordic-cursors
76 |
--------------------------------------------------------------------------------
/user/gtkrc-2.0:
--------------------------------------------------------------------------------
1 | gtk-enable-animations=1
2 | gtk-primary-button-warps-slider=0
3 | # DO NOT EDIT! This file will be overwritten by LXAppearance.
4 | # Any customization should be done in ~/.gtkrc-2.0.mine instead.
5 |
6 | gtk-theme-name="Nordic-darker-v40"
7 | gtk-icon-theme-name="Nordic-Darker"
8 | gtk-font-name="Noto Sans, 10"
9 |
10 | gtk-cursor-theme-name="Nordic-cursors"
11 | gtk-cursor-theme-size=24
12 | gtk-toolbar-style=3
13 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
14 | gtk-button-images=1
15 | gtk-menu-images=1
16 | gtk-enable-event-sounds=1
17 | gtk-enable-input-feedback-sounds=1
18 | gtk-xft-antialias=1
19 | gtk-xft-hinting=1
20 | gtk-xft-hintstyle="hintfull"
21 |
--------------------------------------------------------------------------------
/user/xprofile:
--------------------------------------------------------------------------------
1 | Xcursor.theme:Nordic-cursors
2 | export XMODIFIERS=@im=fcitx
3 | QT_QPA_PLATFORMTHEME = qt5ct
4 |
--------------------------------------------------------------------------------
/user/zshrc:
--------------------------------------------------------------------------------
1 | # zmodload zsh/zprof
2 |
3 | # export HISTSIZE=1000
4 | #export EDITOR="nvim"
5 |
6 | autoload -U compaudit compinit
7 | autoload -U compinit && compinit
8 |
9 | eval "$(zoxide init zsh)"
10 | [ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
11 |
12 | # source /usr/share/nvm/init-nvm.sh
13 |
14 | export PATH="/home/charles/.local/bin:$PATH"
15 | export PATH="/home/charles/.npm-global/bin:$PATH"
16 | export PATH="/home/charles/go/bin/:$PATH"
17 | # export QT_QPA_PLATFORMTHEME=qt5ct
18 | export MKLROOT="/opt/intel/oneapi/mkl/latest/"
19 | alias icc="gcc -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
20 | alias i++="g++ -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
21 | #
22 | source ~/.zsh/fzf-tab/fzf-tab.plugin.zsh
23 | source ~/.zsh/fzf.zsh
24 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
25 | source ~/.zsh/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
26 |
27 | alias n=neofetch
28 | alias aliyun=' aliyundrive-webdav --refresh-token="" --port=8080 --auth-user=chahsa --auth-password=password'
29 | alias pw=poweroff
30 | alias rb=reboot
31 | alias vs="systemctl status v2raya.service"
32 | alias sv="systemctl start v2raya.service"
33 | alias dv="systemctl stop v2raya.service"
34 | alias ls="lsd"
35 | alias c="clear"
36 | alias cn="clear;n"
37 | alias du="dust" #dua
38 | alias vi3="vim ~/.config/i3/config"
39 | alias top="btm"
40 | alias p="procs"
41 | alias t="tldr"
42 | alias nv="nvim"
43 | alias find="fd --exclude ~/SourceFile --exclude ~/go "
44 | alias cat="bat"
45 | alias grep="rg"
46 | alias mon="xrandr --output HDMI-A-0 --same-as eDP --auto "
47 | alias diff="delta"
48 | alias sed="sd"
49 | alias yt-dlp="yt-dlp -f bestvideo+bestaudio --merge-output-format mp4 "
50 | alias df="duf"
51 | alias cd="z"
52 | alias g="gitui"
53 | alias ter="zellij"
54 | alias st="gummy start"
55 | alias rt="gummy -t 6500 -b 4"
56 | alias dt="gummy -t 5400 -b 4"
57 | alias clean-pac="yay -Qqdt | yay -Rs -"
58 | alias sudo="sudo env PATH=$PATH"
59 | n
60 |
61 |
62 | open-pdf() {
63 | IFS=$'\n' currentpath=($(pwd))
64 | cd ~/Documents/BOOK/
65 | IFS=$'\n' files=($(fzf-tmux --query="$1" --multi --select-1 --exit-0 --height 40%))
66 | [[ -n "$files" ]] && zathura 2>/dev/null "${files[@]}" & disown
67 | cd "${currentpath}"
68 | }
69 |
70 | open-pdf-cd() {
71 | IFS=$'\n' files=($(fzf-tmux --query="$1" --multi --select-1 --exit-0 --height 40%))
72 | [[ -n "$files" ]] && zathura 2>/dev/null "${files[@]}" & disown
73 | }
74 | alias op="open-pdf"
75 | alias opc="open-pdf-cd"
76 |
77 | if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
78 | source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
79 | fi
80 |
81 |
82 | HISTFILE=$HOME/.zsh/cache/zsh_history
83 | HISTSIZE=5000
84 | SAVEHIST=5000
85 | ## Settings for umask
86 | setopt appendhistory
87 | setopt appendhistory
88 | setopt INC_APPEND_HISTORY
89 | setopt SHARE_HISTORY
90 |
91 |
92 |
93 | source ~/.zsh/powerlevel10k/powerlevel10k.zsh-theme
94 | [[ ! -f ~/.zsh/p10k.zsh ]] || source ~/.zsh/p10k.zsh
95 | autoload -U promptinit; promptinit
96 | #prompt spaceship
97 |
98 |
99 | # eval "$(starship init zsh)"
100 | #
101 |
--------------------------------------------------------------------------------
/vim/vimrc:
--------------------------------------------------------------------------------
1 | call plug#begin()
2 | Plug 'https://github.com/enml/nord-vim.git'
3 | Plug 'https://github.com/itchyny/vim-cursorword.git'
4 | Plug 'godlygeek/tabular'
5 | Plug 'preservim/vim-markdown'
6 | Plug 'rust-lang/rust.vim'
7 | Plug 'mhinz/vim-startify'
8 | Plug 'vim-airline/vim-airline'
9 | Plug 'preservim/nerdtree'
10 | Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
11 | Plug 'Yggdroot/LeaderF', { 'do': ':LeaderfInstallCExtension' }
12 | Plug 'ryanoasis/vim-devicons'
13 | Plug 'junegunn/vim-slash'
14 | call plug#end()
15 |
16 |
17 | colorscheme nord
18 |
19 | set number
20 | set noerrorbells
21 | set nocompatible
22 | syntax on
23 | set showmode
24 | set showcmd
25 | set mouse=a
26 | set t_Co=256
27 | filetype indent on
28 | set autoindent
29 | set tabstop=2
30 | set shiftwidth=4
31 | set expandtab
32 | set softtabstop=2
33 | set relativenumber
34 | set cursorline
35 | set wrap
36 | set linebreak
37 | set wrapmargin=2
38 | set scrolloff=5
39 | set laststatus=2
40 | set ruler
41 | set showmatch
42 | set hlsearch
43 | set incsearch
44 | set ignorecase
45 | set smartcase
46 | set autoread
47 | set listchars=tab:»·,trail:·
48 | set list
49 | set wildmenu
50 | set wildmode=longest:list,full
51 | let mapleader = " "
52 | map n :NERDTreeToggle
53 |
--------------------------------------------------------------------------------
/wallpaper/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/wallpaper/2.png
--------------------------------------------------------------------------------
/wallpaper/arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/wallpaper/arch.png
--------------------------------------------------------------------------------
/wallpaper/archlinux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/wallpaper/archlinux.png
--------------------------------------------------------------------------------
/wallpaper/cutppuccin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/wallpaper/cutppuccin.png
--------------------------------------------------------------------------------
/wallpaper/nord1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/wallpaper/nord1.png
--------------------------------------------------------------------------------
/wallpaper/others.md:
--------------------------------------------------------------------------------
1 | There are still two wallpapers I use but their size is a little big.
2 | See the links below :
3 |
4 | [https://wallhaven.cc/w/3z2med](https://wallhaven.cc/w/3z2med)
5 |
6 | [https://wallhaven.cc/w/6oxgp6](https://wallhaven.cc/w/6oxgp6)
7 |
8 | A collection of wallpapers that may fit the Nordic Theme: [https://github.com/linuxdotexe/nordic-wallpapers](https://github.com/linuxdotexe/nordic-wallpapers)
9 |
--------------------------------------------------------------------------------
/zsh/cache/fzfhistory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/zsh/cache/fzfhistory
--------------------------------------------------------------------------------
/zsh/cache/zsh_history:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charleschetty/dotfile/036361cfae65c8403a2e6a4ded7e629969dcded3/zsh/cache/zsh_history
--------------------------------------------------------------------------------
/zsh/file_preview.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env sh
2 |
3 | mime=$(file -bL --mime-type "$1")
4 | category=${mime%%/*}
5 | if [ -d "$1" ]; then
6 | exa -l --no-user --no-time --icons --no-permissions --no-filesize "$1" 2>/dev/null
7 | elif [ "$category" = text ]; then
8 | (bat -p --style numbers --color=always "$1" ) 2>/dev/null | head -1000
9 | elif [ "$mime" = application/pdf ]; then
10 | pdftotext $1 - |less
11 | elif [ "$category" = image ]; then
12 | (~/.zsh/img_preview $1) 2>/dev/null
13 | # chafa "$1"
14 | else
15 | echo $1 is a $category file
16 | fi
17 |
--------------------------------------------------------------------------------
/zsh/fzf.zsh:
--------------------------------------------------------------------------------
1 | export RUNEWIDTH_EASTASIAN=0
2 | # export FZF_PREVIEW_COMMAND='bash /home/charles/.zsh/file_preview.sh {}'
3 | # export FZF_DEFAULT_OPTS="--height 12 --layout=reverse --history=/home/charles/.zsh/cache/fzfhistory"
4 | export FZF_DEFAULT_OPTS="--preview 'bash ~/.zsh/file_preview.sh {}' --height 12 --layout=reverse --history=/home/charles/.zsh/cache/fzfhistory"
5 | export FZF_DEFAULT_COMMAND="fd --exclude={.git,.idea,.vscode,.sass-cache,node_modules,build,dist,vendor} --type f"
6 |
7 | zstyle ':completion:complete:*:options' sort false
8 | zstyle ':fzf-tab:complete:cd:*' query-string input
9 | zstyle ':completion:*:descriptions' format "[%d]"
10 | zstyle ':fzf-tab:*' group-colors $'\033[15m' $'\033[14m' $'\033[33m' $'\033[35m' $'\033[15m' $'\033[14m' $'\033[33m' $'\033[35m'
11 | zstyle ':fzf-tab:*' prefix ''
12 | zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
13 | zstyle ':fzf-tab:complete:(kill|ps):argument-rest' fzf-preview '[ "$group" = "process ID" ] && ps --pid=$word -o cmd --no-headers -w -w'
14 | zstyle ':fzf-tab:complete:(kill|ps):argument-rest' fzf-flags --preview-window=down:3:wrap
15 | zstyle ':fzf-tab:complete:*:options' fzf-flags --preview-window=down:0:wrap
16 | zstyle ':fzf-tab:complete:(docker|cargo):*' fzf-flags --preview-window=down:0:wrap
17 | zstyle ':fzf-tab:complete:systemctl:*' fzf-flags --preview-window=down:0:wrap
18 | zstyle ':fzf-tab:complete:systemctl-(status|(re|)start|(dis|en)able):*' fzf-preview 'SYSTEMD_COLORS=1 systemctl status $word'
19 | # zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl status $word'
20 | zstyle ':fzf-tab:complete:yay:*' fzf-preview 'yay -Qi $word || yay -Si $word'
21 | zstyle ':fzf-tab:complete:pacman:*' fzf-preview 'pacman -Qi $word || pacman -Si $word'
22 | zstyle ':fzf-tab:complete:(\\|)run-help:*' fzf-preview 'run-help $word'
23 | zstyle ':fzf-tab:complete:(\\|*/|)man:*' fzf-preview 'man $word'
24 | zstyle ':fzf-tab:complete:git-(add|diff|restore):*' fzf-preview 'git diff --color=always $word'
25 | zstyle ':fzf-tab:complete:git-log:*' fzf-preview 'git log --color=always $word'
26 | zstyle ':fzf-tab:complete:git-show:*' fzf-preview 'git show --color=always $word'
27 | zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview '[ -f "$realpath" ] && git diff --color=always $word || git log --color=always $word'
28 | zstyle ':fzf-tab:complete:*:*' fzf-preview 'bash ~/.zsh/file_preview.sh ${(Q)realpath}'
29 | zstyle ':fzf-tab:complete:*:*' fzf-flags --height=12
30 | zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word'
31 |
--------------------------------------------------------------------------------
/zsh/img_preview:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | FIFO="/tmp/preview_fifo"
4 | [ -p "$FIFO" ] || mkfifo "$FIFO"
5 | x=$(($(tput cols) / 2 + 1))
6 | # y=$(($(tput rows) / 2 + 1))
7 | # x=1
8 | y=1
9 | width=$FZF_PREVIEW_COLUMNS
10 | height=$FZF_PREVIEW_LINES
11 | start_ueberzugpp() {
12 | ueberzugpp layer --silent <"$FIFO" &
13 | exec 3>"${FIFO}"
14 | }
15 |
16 | cleanup() {
17 | rm -f "$FIFO"
18 | }
19 | trap cleanup HUP INT QUIT TERM PWR EXIT
20 |
21 | preview_image() {
22 | echo '{"path": "'"$1"'", "action": "add", "identifier": "fzfpreview", "x": "'"$x"'", "y": "'"$y"'", "width": "'"$width"'", "height": "'"$height"'"}' >"$FIFO"
23 | # echo '{"path": "'"$1"'", "action": "add", "identifier": "img-fifo", "x": "'"$x"'", "y": "'"$y"'", "width": "'"$width"'", "height": "'"$height"'"}' >"$FIFO"
24 | }
25 |
26 | start_ueberzugpp
27 | preview_image "$1"
28 | wait
29 |
30 |
--------------------------------------------------------------------------------