diff --git a/.config/environment.d/21-lang.conf b/.config/environment.d/21-lang.conf index a6fc9f7..218b8c7 100644 --- a/.config/environment.d/21-lang.conf +++ b/.config/environment.d/21-lang.conf @@ -9,6 +9,9 @@ CXX_LD=lld RUSTUP_HOME=$XDG_DATA_HOME/rustup CARGO_HOME=$XDG_DATA_HOME/cargo +## [ Elan ] +ELAN_HOME=$XDG_DATA_HOME/elan + ## [ Clojure ] LEIN_HOME=$XDG_DATA_HOME/lein diff --git a/.config/environment.d/99-path.conf b/.config/environment.d/99-path.conf index 9c59e7b..41fc14d 100644 --- a/.config/environment.d/99-path.conf +++ b/.config/environment.d/99-path.conf @@ -1 +1 @@ -PATH=${FLYCTL_INSTALL}/bin:${GOPATH}/bin:${HOME}/.local/bin:${PATH} +PATH=${FLYCTL_INSTALL}/bin:${GOPATH}/bin:${HOME}/.local/bin:${ELAN_HOME}/bin:${PATH} diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100644 index 0000000..b7eeab6 --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,202 @@ +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +#shell=nu + +# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +# title=foot +# locked-title=no + +font=FantasqueSansM Nerd Font Mono:size=16 +# font=monospace:size=8 +# font-bold= +# font-italic= +# font-bold-italic= +# font-size-adjustment=0.5 +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# underline-thickness= +# box-drawings-uses-font-glyphs=no +# dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=0x0 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= +# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) +# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format="" + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[touch] +# long-press-delay=400 + +[colors] +# alpha=1.0 +background=000000 +# foreground=ffffff + +## Normal/regular colors (color palette 0-7) +# regular0=242424 # black +# regular1=f62b5a # red +# regular2=47b413 # green +# regular3=e3c401 # yellow +# regular4=24acd4 # blue +# regular5=f2affd # magenta +# regular6=13c299 # cyan +# regular7=e6e6e6 # white + +## Bright colors (color palette 8-15) +# bright0=616161 # bright black +# bright1=ff4d51 # bright red +# bright2=35d450 # bright green +# bright3=e9e836 # bright yellow +# bright4=5dc5f8 # bright blue +# bright5=feabf2 # bright magenta +# bright6=24dfc4 # bright cyan +# bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-maximized=no +# double-click-to-maximize=yes +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+o +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=Control+Shift+u +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..38e2040 --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,5 @@ +[Settings] +gtk-application-prefer-dark-theme = true + +gtk-cursor-theme-name = capitaine-cursors-light +gtk-cursor-theme-size = 32 diff --git a/.config/gtk-4.0/settings.ini b/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..38e2040 --- /dev/null +++ b/.config/gtk-4.0/settings.ini @@ -0,0 +1,5 @@ +[Settings] +gtk-application-prefer-dark-theme = true + +gtk-cursor-theme-name = capitaine-cursors-light +gtk-cursor-theme-size = 32 diff --git a/.config/htop/htoprc b/.config/htop/htoprc new file mode 100644 index 0000000..0f2c6a3 --- /dev/null +++ b/.config/htop/htoprc @@ -0,0 +1,63 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +htop_version=3.2.2 +config_reader_min_version=3 +fields=0 48 17 18 38 39 40 2 46 47 49 1 +hide_kernel_threads=1 +hide_userland_threads=0 +hide_running_in_container=1 +shadow_other_users=0 +show_thread_names=1 +show_program_path=0 +highlight_base_name=1 +highlight_deleted_exe=1 +shadow_distribution_path_prefix=0 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=1 +header_margin=1 +screen_tabs=1 +detailed_cpu_time=0 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=0 +show_cpu_temperature=0 +degree_fahrenheit=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=1 +delay=15 +hide_function_bar=0 +header_layout=two_50_50 +column_meters_0=LeftCPUs Memory Swap +column_meter_modes_0=1 1 1 +column_meters_1=RightCPUs Tasks LoadAverage Uptime +column_meter_modes_1=1 2 2 2 +tree_view=1 +sort_key=46 +tree_sort_key=0 +sort_direction=-1 +tree_sort_direction=-1 +tree_view_always_by_pid=1 +all_branches_collapsed=1 +screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_CPU +.tree_sort_key=PID +.tree_view=1 +.tree_view_always_by_pid=1 +.sort_direction=-1 +.tree_sort_direction=-1 +.all_branches_collapsed=1 +screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command +.sort_key=IO_RATE +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/.config/mimeapps.list b/.config/mimeapps.list new file mode 100644 index 0000000..e09ca51 --- /dev/null +++ b/.config/mimeapps.list @@ -0,0 +1,7 @@ + +[Default Applications] +text/html=firefox.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/about=firefox.desktop +x-scheme-handler/unknown=firefox.desktop diff --git a/.config/nvim/lua/intangible/packages.lua b/.config/nvim/lua/intangible/packages.lua index 923565a..0107163 100644 --- a/.config/nvim/lua/intangible/packages.lua +++ b/.config/nvim/lua/intangible/packages.lua @@ -242,6 +242,7 @@ return require('lazy').setup({ 'markdown', 'markdown_inline', 'meson', + 'nasm', 'ocaml', 'ocaml_interface', 'proto', diff --git a/.config/sway/config b/.config/sway/config index 44d8fcd..e6a7ba5 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,32 +1,25 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. set $mod Mod4 -# Home row direction keys, like vim + set $left h set $down j set $up k set $right l -# Your preferred terminal emulator + set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -exec mako smart_borders on - default_border pixel 5 -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +exec mako + +seat seat0 xcursor_theme "capitaine-cursors-light" 32 + +# theming +set $gnome-schema org.gnome.desktop.interface +exec_always { + gsettings set $gnome-schema cursor-theme 'capitaine-cursors-light' + gsettings set $gnome-schema cursor-size 32 +} output eDP-1 pos 0 0 res 1920x1080 @@ -37,6 +30,9 @@ input * { xkb_options caps:swapescape } +for_window [app_id="foot" floating] resize set 1800px 1000px +for_window [app_id="firefox" title="Picture-in-Picture"] floating enable + ### Key bindings # # Basics: @@ -73,7 +69,7 @@ input * { bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ - bindsym XF86Display exec swaylock + bindsym XF86Display exec swaylock -i ~/media/lain_wallpaper.jpg # # Moving around: # @@ -98,6 +94,7 @@ input * { bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right + # # Workspaces: # @@ -131,8 +128,9 @@ input * { # You can "split" the current object of your focus with # $mod+b or $mod+v, for horizontal and vertical splits # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv + #bindsym $mod+b splith + #bindsym $mod+v splitv + bindsym $mod+b exec "zathura $(fd . ~/books | wofi --show dmenu)" # Switch the current container between different layout styles bindsym $mod+s layout stacking @@ -185,12 +183,9 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } + bindsym $mod+r mode "resize" -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. bar { swaybar_command waybar } diff --git a/.config/waybar/config b/.config/waybar/config index 7c95f6b..28ce967 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -1,70 +1,76 @@ { - "height": 35, // Waybar height (to be removed for auto height) - "spacing": 4, // Gaps between modules (4px) + "height" : 42, + "spacing" : 4, - "modules-left": ["sway/workspaces"], - "modules-center": ["sway/window"], - "modules-right": ["wireplumber", "network", "backlight", "keyboard-state", "sway/language", "battery", "clock", "tray"], + "modules-left" : ["sway/workspaces"], + "modules-center" : ["sway/window"], + "modules-right" : ["wireplumber", "network", "backlight", "keyboard-state", "sway/language", "battery", "clock", "tray"], "sway/window": { - "format": "{title}", - "max-length": 120 + "format" : "{title}", + "max-length" : 120 }, "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - - "sway/mode": { - "format": "{}" + "format" : "{name}", }, "sway/language": { - "format": "{}", - "on-click": "swaymsg input type:keyboard xkb_switch_layout next", + "format" : "{}", + "on-click" : "swaymsg input type:keyboard xkb_switch_layout next", }, "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] + "format" : "{percent}% {icon}", + "format-icons" : ["", "", "", "", "", "", "", "", ""] }, "battery": { "states": { - // "good": 95, - "warning": 30, - "critical": 15 + "warning" : 30, + "critical" : 15 }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] + + "format" : "{capacity}% {icon}", + "format-charging" : "{capacity}% 󱐋", + "format-plugged" : "{capacity}% ", + "format-alt" : "{time} {icon}", + "format-icons" : ["", "", "", "", ""] }, "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "󰈀 {ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" + "format-wifi" : "{essid} ({signalStrength}%) ", + "format-ethernet" : "󰈀 {ipaddr}/{cidr} ", + "tooltip-format" : "{ifname} via {gwaddr}", + "format-linked" : "{ifname} (No IP)", + "format-disconnected" : "Disconnected ⚠", + "format-alt" : "{ifname}: {ipaddr}/{cidr}" }, "wireplumber": { - "format": "{volume}% {icon}", - "format-muted": "󰝟", - "format-icons": ["", "", ""] + "format" : "{volume}% {icon}", + "format-muted" : "󰝟", + "format-icons" : ["", "", ""] + }, + + "clock": { + "format" : "{:%H:%M}", + "tooltip-format" : "{calendar}", + + "calendar": { + "mode" : "year", + "mode-mon-col" : 3, + "weeks-pos" : "right", + "on-scroll" : 1, + "on-click-right" : "mode", + "format": { + "months" : "{}", + "days" : "{}", + "weeks" : "W{}", + "weekdays" : "{}", + "today" : "{}" + } + }, } } diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..88e67ac --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,177 @@ +* { + border: none; + border-radius: 7px; + font-family: Cantarell, Symbols Nerd Font; + font-size: 16px; +} + +window#waybar { + background: transparent; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty #window { + padding: 0px; + margin: 0px; + border: 0px; + background-color: transparent; +} + +#window { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #96CDFB; +} + +#workspaces { + margin-top: 6px; + margin-left: 12px; + font-size: 4px; + margin-bottom: 0px; + border-radius: 10px; + background: #161320; + transition: none; +} + +#workspaces button { + transition: none; + color: #B5E8E0; + background: transparent; + font-size: 16px; + border-radius: 2px; +} + +#workspaces button.occupied { + transition: none; + color: #F28FAD; + background: transparent; + font-size: 4px; +} + +#workspaces button.focused { + color: #ABE9B3; + border-top: 2px solid #ABE9B3; + border-bottom: 2px solid #ABE9B3; +} + +#workspaces button:hover { + transition: none; + box-shadow: inherit; + text-shadow: inherit; + color: #FAE3B0; + border-color: #E8A2AF; + color: #E8A2AF; +} + +#workspaces button.focused:hover { + color: #E8A2AF; +} + +#clock { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #ABE9B3; + /*background: #1A1826;*/ +} + +#backlight { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #F8BD96; +} + +#tray { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #B5E8E0; + background: #161320; +} + +#network { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #bd93f9; +} + +#wireplumber { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #1A1826; + background: #FAE3B0; +} + +#language { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + margin-bottom: 0px; + padding-right: 10px; + border-radius: 10px; + transition: none; + color: #161320; + background: #DDB6F2; +} + +#battery.charging, #battery.plugged { + color: #161320; + background-color: #B5E8E0; +} + +#battery.critical:not(.charging) { + background-color: #B5E8E0; + color: #161320; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#battery { + margin-top: 6px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + margin-bottom: 0px; + border-radius: 10px; + transition: none; + color: #161320; + background: #B5E8E0; +} diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..efd4747 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1 @@ +set guioptions none