commit 822c45a8e66507f3901237b9f8df18812a18ecd0 Author: Ethan Reece Date: Mon Jul 15 08:24:16 2024 -0500 Initial home config commit diff --git a/.bash_logout b/.bash_logout new file mode 100644 index 0000000..af7c6fd --- /dev/null +++ b/.bash_logout @@ -0,0 +1,2 @@ +# ~/.bash_logout + diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..baaaa32 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,8 @@ +# .bash_profile + +# Get the aliases and functions +if [ -f ~/.bashrc ]; then + . ~/.bashrc +fi + +# User specific environment and startup programs diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..6f6ae74 --- /dev/null +++ b/.bashrc @@ -0,0 +1,33 @@ +# .bashrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +# User specific environment +if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then + PATH="$HOME/.local/bin:$HOME/bin:$PATH" +fi +export PATH + +# Uncomment the following line if you don't like systemctl's auto-paging feature: +# export SYSTEMD_PAGER= + +# User specific aliases and functions +if [ -d ~/.bashrc.d ]; then + for rc in ~/.bashrc.d/*; do + if [ -f "$rc" ]; then + . "$rc" + fi + done +fi +unset rc + +# Automatically added by the Guix install script. +if [ -n "$GUIX_ENVIRONMENT" ]; then + if [[ $PS1 =~ (.*)"\\$" ]]; then + PS1="${BASH_REMATCH[1]} [env]\\\$ " + fi +fi + diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..5ca913c --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,40 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end + +function sudo + if count $argv >/dev/null + command sudo $argv + else + command sudo (history | read -l) + end +end + +set -x GPG_TTY (tty) + +set -x EDITOR /usr/bin/hx + +set -x VISUAL /usr/bin/hx + +set -Ua fish_user_paths /home/sudoer777/.config/guix/current/bin/ + +set -x GUIX_HOME /home/sudoer777/.guix-home/profile + +set -x GUILE_LOAD_PATH $GUIX_HOME/share/guile/site/3.0 + +set -x GUILE_LOAD_COMPILED_PATH $GUIX_HOME/share/guile/3.0/site-ccache $GUILE_LOAD_PATH + +set -x ZATHURA_PLUGINS_PATH $GUIX_HOME/lib/zathura + +alias ls='exa' + +function home-reconfig + cd ~/src/guix-config + just +end + +function home-edit + emacs ~/src/guix-config/home-configuration.scm +end + +fish_add_path -g diff --git a/.config/weechat/weechat.conf b/.config/weechat/weechat.conf new file mode 100644 index 0000000..d405e51 --- /dev/null +++ b/.config/weechat/weechat.conf @@ -0,0 +1,699 @@ +# +# weechat -- weechat.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use commands like /set or /fset to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/weechat/quickstart/ +# + +config_version = 3 + +[debug] + +[startup] +command_after_plugins = "" +command_before_plugins = "" +display_logo = on +display_version = on +sys_rlimit = "" + +[look] +align_end_of_lines = message +align_multiline_words = on +bar_more_down = "++" +bar_more_left = "<<" +bar_more_right = ">>" +bar_more_up = "--" +bare_display_exit_on_input = on +bare_display_time_format = "%H:%M" +buffer_auto_renumber = on +buffer_notify_default = all +buffer_position = end +buffer_search_case_sensitive = off +buffer_search_force_default = off +buffer_search_history = local +buffer_search_regex = off +buffer_search_where = prefix_message +buffer_time_format = "%H:%M:%S" +buffer_time_same = "" +chat_space_right = off +color_basic_force_bold = off +color_inactive_buffer = on +color_inactive_message = on +color_inactive_prefix = on +color_inactive_prefix_buffer = on +color_inactive_time = on +color_inactive_window = on +color_nick_offline = off +color_pairs_auto_reset = 5 +color_real_white = off +command_chars = "" +command_incomplete = off +config_permissions = "600" +confirm_quit = off +confirm_upgrade = off +day_change = on +day_change_message_1date = "-- %a, %d %b %Y --" +day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --" +eat_newline_glitch = off +emphasized_attributes = "" +highlight = "" +highlight_disable_regex = "" +highlight_prefix = on +highlight_regex = "" +highlight_tags = "" +hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0" +hotlist_buffer_separator = ", " +hotlist_count_max = 2 +hotlist_count_min_msg = 2 +hotlist_names_count = 3 +hotlist_names_length = 0 +hotlist_names_level = 12 +hotlist_names_merged_buffers = off +hotlist_prefix = "H: " +hotlist_remove = merged +hotlist_short_names = on +hotlist_sort = "-priority,time,time_usec" +hotlist_suffix = "" +hotlist_unique_numbers = on +hotlist_update_on_buffer_switch = on +input_cursor_scroll = 20 +input_multiline_lead_linebreak = on +input_share = none +input_share_overwrite = off +input_undo_max = 32 +item_away_message = on +item_buffer_filter = "*" +item_buffer_zoom = "!" +item_mouse_status = "M" +item_time_format = "%H:%M" +jump_current_to_previous_buffer = on +jump_previous_buffer_when_closing = on +jump_smart_back_to_buffer = on +key_bind_safe = on +key_grab_delay = 800 +mouse = off +nick_color_force = "" +nick_color_hash = djb2 +nick_color_hash_salt = "" +nick_color_stop_chars = "_|[" +nick_prefix = "" +nick_suffix = "" +paste_bracketed = on +paste_bracketed_timer_delay = 10 +paste_max_lines = 100 +prefix_action = " *" +prefix_align = right +prefix_align_max = 0 +prefix_align_min = 0 +prefix_align_more = "+" +prefix_align_more_after = on +prefix_buffer_align = right +prefix_buffer_align_max = 0 +prefix_buffer_align_more = "+" +prefix_buffer_align_more_after = on +prefix_error = "=!=" +prefix_join = "-->" +prefix_network = "--" +prefix_quit = "<--" +prefix_same_nick = "" +prefix_same_nick_middle = "" +prefix_suffix = "?" +quote_nick_prefix = "<" +quote_nick_suffix = ">" +quote_time_format = "%H:%M:%S" +read_marker = line +read_marker_always_show = off +read_marker_string = "- " +read_marker_update_on_buffer_switch = on +save_config_on_exit = on +save_config_with_fsync = off +save_layout_on_exit = none +scroll_amount = 3 +scroll_bottom_after_switch = off +scroll_page_percent = 100 +search_text_not_found_alert = on +separator_horizontal = "-" +separator_vertical = "" +tab_width = 1 +time_format = "%a, %d %b %Y %T" +window_auto_zoom = off +window_separator_horizontal = on +window_separator_vertical = on +window_title = "" +word_chars_highlight = "!\u00A0,-,_,|,alnum" +word_chars_input = "!\u00A0,-,_,|,alnum" + +[palette] + +[color] +bar_more = lightmagenta +chat = default +chat_bg = default +chat_buffer = white +chat_channel = white +chat_day_change = cyan +chat_delimiters = 22 +chat_highlight = yellow +chat_highlight_bg = 124 +chat_host = cyan +chat_inactive_buffer = default +chat_inactive_window = 240 +chat_nick = lightcyan +chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightmagenta,lightgreen,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,248" +chat_nick_offline = 242 +chat_nick_offline_highlight = default +chat_nick_offline_highlight_bg = 17 +chat_nick_other = cyan +chat_nick_prefix = green +chat_nick_self = white +chat_nick_suffix = green +chat_prefix_action = white +chat_prefix_buffer = 180 +chat_prefix_buffer_inactive_buffer = default +chat_prefix_error = yellow +chat_prefix_join = lightgreen +chat_prefix_more = lightmagenta +chat_prefix_network = magenta +chat_prefix_quit = lightred +chat_prefix_suffix = 24 +chat_read_marker = magenta +chat_read_marker_bg = default +chat_server = brown +chat_status_disabled = red +chat_status_enabled = green +chat_tags = red +chat_text_found = yellow +chat_text_found_bg = lightmagenta +chat_time = default +chat_time_delimiters = brown +chat_value = cyan +chat_value_null = blue +emphasized = yellow +emphasized_bg = 54 +eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan" +input_actions = lightgreen +input_text_not_found = red +item_away = yellow +nicklist_away = 240 +nicklist_group = green +separator = 236 +status_count_highlight = magenta +status_count_msg = brown +status_count_other = default +status_count_private = green +status_data_highlight = lightmagenta +status_data_msg = yellow +status_data_other = default +status_data_private = lightgreen +status_filter = green +status_modes = default +status_more = yellow +status_mouse = lightgreen +status_name = white +status_name_insecure = lightmagenta +status_name_tls = white +status_nicklist_count = default +status_number = yellow +status_time = default + +[completion] +base_word_until_cursor = on +case_sensitive = on +command_inline = on +default_template = "%(nicks)|%(irc_channels)" +nick_add_space = on +nick_case_sensitive = off +nick_completer = ": " +nick_first_only = off +nick_ignore_chars = "[]`_-^" +partial_completion_alert = on +partial_completion_command = off +partial_completion_command_arg = off +partial_completion_count = on +partial_completion_other = off +partial_completion_templates = "config_options" + +[history] +display_default = 5 +max_buffer_lines_minutes = 0 +max_buffer_lines_number = 4096 +max_commands = 100 +max_visited_buffers = 50 + +[proxy] + +[network] +connection_timeout = 60 +gnutls_ca_system = on +gnutls_ca_user = "" +gnutls_handshake_timeout = 30 +proxy_curl = "" + +[plugin] +autoload = "*" +extension = ".so,.dll" +path = "${weechat_data_dir}/plugins" +save_config_on_unload = on + +[signal] +sighup = "${if:${info:weechat_headless}?/reload:/quit -yes}" +sigquit = "/quit -yes" +sigterm = "/quit -yes" +sigusr1 = "" +sigusr2 = "" + +[bar] +buflist.color_bg = default +buflist.color_bg_inactive = default +buflist.color_delim = default +buflist.color_fg = default +buflist.conditions = "" +buflist.filling_left_right = vertical +buflist.filling_top_bottom = columns_vertical +buflist.hidden = off +buflist.items = "buflist" +buflist.position = left +buflist.priority = 0 +buflist.separator = on +buflist.size = 0 +buflist.size_max = 0 +buflist.type = root +fset.color_bg = default +fset.color_bg_inactive = default +fset.color_delim = cyan +fset.color_fg = default +fset.conditions = "${buffer.full_name} == fset.fset" +fset.filling_left_right = vertical +fset.filling_top_bottom = horizontal +fset.hidden = off +fset.items = "fset" +fset.position = top +fset.priority = 0 +fset.separator = on +fset.size = 3 +fset.size_max = 3 +fset.type = window +input.color_bg = default +input.color_bg_inactive = default +input.color_delim = cyan +input.color_fg = default +input.conditions = "" +input.filling_left_right = vertical +input.filling_top_bottom = horizontal +input.hidden = off +input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text" +input.position = bottom +input.priority = 1000 +input.separator = off +input.size = 0 +input.size_max = 0 +input.type = window +nicklist.color_bg = default +nicklist.color_bg_inactive = default +nicklist.color_delim = cyan +nicklist.color_fg = default +nicklist.conditions = "${nicklist}" +nicklist.filling_left_right = vertical +nicklist.filling_top_bottom = columns_vertical +nicklist.hidden = off +nicklist.items = "buffer_nicklist" +nicklist.position = right +nicklist.priority = 200 +nicklist.separator = on +nicklist.size = 0 +nicklist.size_max = 0 +nicklist.type = window +status.color_bg = 234 +status.color_bg_inactive = 232 +status.color_delim = cyan +status.color_fg = default +status.conditions = "" +status.filling_left_right = vertical +status.filling_top_bottom = horizontal +status.hidden = off +status.items = "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,mouse_status,scroll,[lag],[hotlist],[typing],completion" +status.position = bottom +status.priority = 500 +status.separator = off +status.size = 1 +status.size_max = 0 +status.type = window +title.color_bg = 234 +title.color_bg_inactive = 232 +title.color_delim = cyan +title.color_fg = default +title.conditions = "" +title.filling_left_right = vertical +title.filling_top_bottom = horizontal +title.hidden = off +title.items = "buffer_title" +title.position = top +title.priority = 500 +title.separator = off +title.size = 1 +title.size_max = 0 +title.type = window + +[custom_bar_item] + +[layout] +default.buffer = "core;weechat;1" +default.buffer = "irc;server.libera;1" +default.buffer = "irc;libera.#guix;2" +default.window = "1;0;0;0;core;weechat" +default.current = on + +[buffer] + +[notify] + +[filter] + +[key] +backspace = "/input delete_previous_char" +ctrl-_ = "/input undo" +ctrl-a = "/input move_beginning_of_line" +ctrl-b = "/input move_previous_char" +ctrl-c,_ = "/input insert \x1F" +ctrl-c,b = "/input insert \x02" +ctrl-c,c = "/input insert \x03" +ctrl-c,d = "/input insert \x04" +ctrl-c,i = "/input insert \x1D" +ctrl-c,o = "/input insert \x0F" +ctrl-c,v = "/input insert \x16" +ctrl-d = "/input delete_next_char" +ctrl-down = "/input history_global_next" +ctrl-e = "/input move_end_of_line" +ctrl-f = "/input move_next_char" +ctrl-f1 = "/bar scroll buflist * -100%" +ctrl-f11 = "/bar scroll nicklist * -100%" +ctrl-f12 = "/bar scroll nicklist * +100%" +ctrl-f2 = "/bar scroll buflist * +100%" +ctrl-k = "/input delete_end_of_line" +ctrl-l = "/window refresh" +ctrl-left = "/input move_previous_word" +ctrl-n = "/buffer +1" +ctrl-o = "/input history_use_get_next" +ctrl-p = "/buffer -1" +ctrl-r = "/input search_history" +ctrl-right = "/input move_next_word" +ctrl-s = "/input search_text_here" +ctrl-t = "/input transpose_chars" +ctrl-u = "/input delete_beginning_of_line" +ctrl-up = "/input history_global_previous" +ctrl-w = "/input delete_previous_word_whitespace" +ctrl-x = "/buffer switch" +ctrl-y = "/input clipboard_paste" +ctrl-z = "/sys suspend" +delete = "/input delete_next_char" +down = "/input history_next" +end = "/input move_end_of_line" +f1 = "/bar scroll buflist * -100%" +f10 = "/bar scroll title * +30%" +f11 = "/bar scroll nicklist * -100%" +f12 = "/bar scroll nicklist * +100%" +f2 = "/bar scroll buflist * +100%" +f5 = "/buffer -1" +f6 = "/buffer +1" +f7 = "/window -1" +f8 = "/window +1" +f9 = "/bar scroll title * -30%" +home = "/input move_beginning_of_line" +left = "/input move_previous_char" +meta-- = "/filter toggle @" +meta-/ = "/buffer jump last_displayed" +meta-0 = "/buffer *10" +meta-1 = "/buffer *1" +meta-2 = "/buffer *2" +meta-3 = "/buffer *3" +meta-4 = "/buffer *4" +meta-5 = "/buffer *5" +meta-6 = "/buffer *6" +meta-7 = "/buffer *7" +meta-8 = "/buffer *8" +meta-9 = "/buffer *9" +meta-< = "/buffer jump prev_visited" +meta-= = "/filter toggle" +meta-> = "/buffer jump next_visited" +meta-B = "/buflist toggle" +meta-N = "/bar toggle nicklist" +meta-R = "/input delete_input" +meta-U = "/allbuf /buffer set unread" +meta-_ = "/input redo" +meta-a = "/buffer jump smart" +meta-b = "/input move_previous_word" +meta-backspace = "/input delete_previous_word" +meta-ctrl-k = "/input delete_end_of_input" +meta-ctrl-u = "/input delete_beginning_of_input" +meta-d = "/input delete_next_word" +meta-down = "/buffer +1" +meta-end = "/window scroll_bottom" +meta-f = "/input move_next_word" +meta-f1 = "/bar scroll buflist * b" +meta-f11 = "/bar scroll nicklist * b" +meta-f12 = "/bar scroll nicklist * e" +meta-f2 = "/bar scroll buflist * e" +meta-h,meta-R = "/hotlist restore -all" +meta-h,meta-c = "/hotlist clear" +meta-h,meta-m = "/hotlist remove" +meta-h,meta-r = "/hotlist restore" +meta-home = "/window scroll_top" +meta-j,0,1 = "/buffer *1" +meta-j,0,2 = "/buffer *2" +meta-j,0,3 = "/buffer *3" +meta-j,0,4 = "/buffer *4" +meta-j,0,5 = "/buffer *5" +meta-j,0,6 = "/buffer *6" +meta-j,0,7 = "/buffer *7" +meta-j,0,8 = "/buffer *8" +meta-j,0,9 = "/buffer *9" +meta-j,1,0 = "/buffer *10" +meta-j,1,1 = "/buffer *11" +meta-j,1,2 = "/buffer *12" +meta-j,1,3 = "/buffer *13" +meta-j,1,4 = "/buffer *14" +meta-j,1,5 = "/buffer *15" +meta-j,1,6 = "/buffer *16" +meta-j,1,7 = "/buffer *17" +meta-j,1,8 = "/buffer *18" +meta-j,1,9 = "/buffer *19" +meta-j,2,0 = "/buffer *20" +meta-j,2,1 = "/buffer *21" +meta-j,2,2 = "/buffer *22" +meta-j,2,3 = "/buffer *23" +meta-j,2,4 = "/buffer *24" +meta-j,2,5 = "/buffer *25" +meta-j,2,6 = "/buffer *26" +meta-j,2,7 = "/buffer *27" +meta-j,2,8 = "/buffer *28" +meta-j,2,9 = "/buffer *29" +meta-j,3,0 = "/buffer *30" +meta-j,3,1 = "/buffer *31" +meta-j,3,2 = "/buffer *32" +meta-j,3,3 = "/buffer *33" +meta-j,3,4 = "/buffer *34" +meta-j,3,5 = "/buffer *35" +meta-j,3,6 = "/buffer *36" +meta-j,3,7 = "/buffer *37" +meta-j,3,8 = "/buffer *38" +meta-j,3,9 = "/buffer *39" +meta-j,4,0 = "/buffer *40" +meta-j,4,1 = "/buffer *41" +meta-j,4,2 = "/buffer *42" +meta-j,4,3 = "/buffer *43" +meta-j,4,4 = "/buffer *44" +meta-j,4,5 = "/buffer *45" +meta-j,4,6 = "/buffer *46" +meta-j,4,7 = "/buffer *47" +meta-j,4,8 = "/buffer *48" +meta-j,4,9 = "/buffer *49" +meta-j,5,0 = "/buffer *50" +meta-j,5,1 = "/buffer *51" +meta-j,5,2 = "/buffer *52" +meta-j,5,3 = "/buffer *53" +meta-j,5,4 = "/buffer *54" +meta-j,5,5 = "/buffer *55" +meta-j,5,6 = "/buffer *56" +meta-j,5,7 = "/buffer *57" +meta-j,5,8 = "/buffer *58" +meta-j,5,9 = "/buffer *59" +meta-j,6,0 = "/buffer *60" +meta-j,6,1 = "/buffer *61" +meta-j,6,2 = "/buffer *62" +meta-j,6,3 = "/buffer *63" +meta-j,6,4 = "/buffer *64" +meta-j,6,5 = "/buffer *65" +meta-j,6,6 = "/buffer *66" +meta-j,6,7 = "/buffer *67" +meta-j,6,8 = "/buffer *68" +meta-j,6,9 = "/buffer *69" +meta-j,7,0 = "/buffer *70" +meta-j,7,1 = "/buffer *71" +meta-j,7,2 = "/buffer *72" +meta-j,7,3 = "/buffer *73" +meta-j,7,4 = "/buffer *74" +meta-j,7,5 = "/buffer *75" +meta-j,7,6 = "/buffer *76" +meta-j,7,7 = "/buffer *77" +meta-j,7,8 = "/buffer *78" +meta-j,7,9 = "/buffer *79" +meta-j,8,0 = "/buffer *80" +meta-j,8,1 = "/buffer *81" +meta-j,8,2 = "/buffer *82" +meta-j,8,3 = "/buffer *83" +meta-j,8,4 = "/buffer *84" +meta-j,8,5 = "/buffer *85" +meta-j,8,6 = "/buffer *86" +meta-j,8,7 = "/buffer *87" +meta-j,8,8 = "/buffer *88" +meta-j,8,9 = "/buffer *89" +meta-j,9,0 = "/buffer *90" +meta-j,9,1 = "/buffer *91" +meta-j,9,2 = "/buffer *92" +meta-j,9,3 = "/buffer *93" +meta-j,9,4 = "/buffer *94" +meta-j,9,5 = "/buffer *95" +meta-j,9,6 = "/buffer *96" +meta-j,9,7 = "/buffer *97" +meta-j,9,8 = "/buffer *98" +meta-j,9,9 = "/buffer *99" +meta-j,meta-f = "/buffer -" +meta-j,meta-l = "/buffer +" +meta-j,meta-r = "/server raw" +meta-j,meta-s = "/server jump" +meta-k = "/input grab_key_command" +meta-l = "/window bare" +meta-left = "/buffer -1" +meta-m = "/mute mouse toggle" +meta-n = "/window scroll_next_highlight" +meta-p = "/window scroll_previous_highlight" +meta-pgdn = "/window scroll_down" +meta-pgup = "/window scroll_up" +meta-r = "/input delete_line" +meta-return = "/input insert \n" +meta-right = "/buffer +1" +meta-s = "/mute spell toggle" +meta-u = "/window scroll_unread" +meta-up = "/buffer -1" +meta-w,meta-b = "/window balance" +meta-w,meta-down = "/window down" +meta-w,meta-left = "/window left" +meta-w,meta-right = "/window right" +meta-w,meta-s = "/window swap" +meta-w,meta-up = "/window up" +meta-x = "/buffer zoom" +meta-z = "/window zoom" +pgdn = "/window page_down" +pgup = "/window page_up" +return = "/input return" +right = "/input move_next_char" +shift-down = "/input move_next_line" +shift-end = "/input move_end_of_input" +shift-home = "/input move_beginning_of_input" +shift-left = "/input move_previous_char" +shift-right = "/input move_next_char" +shift-tab = "/input complete_previous" +shift-up = "/input move_previous_line" +tab = "/input complete_next" +up = "/input history_previous" + +[key_search] +ctrl-q = "/input search_stop" +ctrl-r = "/input search_previous" +ctrl-s = "/input search_next" +ctrl-x = "/input search_switch_regex" +down = "/input search_next" +meta-c = "/input search_switch_case" +return = "/input search_stop_here" +tab = "/input search_switch_where" +up = "/input search_previous" + +[key_histsearch] +ctrl-o = "/input history_use_get_next" +ctrl-q = "/input search_stop" +ctrl-r = "/input search_previous" +ctrl-s = "/input search_next" +ctrl-x = "/input search_switch_regex" +down = "/input search_next" +meta-c = "/input search_switch_case" +return = "/input search_stop_here" +tab = "/input search_switch_where" +up = "/input search_previous" + +[key_cursor] +@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" +@chat:l = "hsignal:chat_quote_focused_line;/cursor stop" +@chat:m = "hsignal:chat_quote_message;/cursor stop" +@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" +@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}" +@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}" +@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}" +@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop" +@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}" +down = "/cursor move down" +left = "/cursor move left" +meta-down = "/cursor move edge_bottom" +meta-end = "/cursor move bottom_right" +meta-home = "/cursor move top_left" +meta-left = "/cursor move edge_left" +meta-right = "/cursor move edge_right" +meta-shift-down = "/cursor move area_down" +meta-shift-left = "/cursor move area_left" +meta-shift-right = "/cursor move area_right" +meta-shift-up = "/cursor move area_up" +meta-up = "/cursor move edge_top" +return = "/cursor stop" +right = "/cursor move right" +up = "/cursor move up" + +[key_mouse] +@*:button3 = "/cursor go ${_x},${_y}" +@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse" +@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse" +@bar(input):button2 = "/input grab_mouse_area" +@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%" +@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" +@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" +@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" +@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" +@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" +@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${fset_option_index}" +@chat(fset.fset):button2* = "hsignal:fset_mouse" +@chat(fset.fset):wheeldown = "/fset -down 5" +@chat(fset.fset):wheelup = "/fset -up 5" +@chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}" +@chat(irc.list_*):button2* = "hsignal:irc_list_mouse" +@chat(irc.list_*):wheeldown = "/list -down 5" +@chat(irc.list_*):wheelup = "/list -up 5" +@chat(script.scripts):button1 = "/window ${_window_number};/script -go ${_chat_line_y}" +@chat(script.scripts):button2 = "/window ${_window_number};/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}" +@chat(script.scripts):wheeldown = "/script -down 5" +@chat(script.scripts):wheelup = "/script -up 5" +@chat:button1 = "/window ${_window_number}" +@chat:button1-gesture-left = "/window ${_window_number};/buffer -1" +@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" +@chat:button1-gesture-right = "/window ${_window_number};/buffer +1" +@chat:button1-gesture-right-long = "/window ${_window_number};/buffer +" +@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%" +@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%" +@chat:wheeldown = "/window scroll_down -window ${_window_number}" +@chat:wheelup = "/window scroll_up -window ${_window_number}" +@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" +@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" +@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" +@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}" +@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}" +@item(buflist):button1* = "hsignal:buflist_mouse" +@item(buflist):button2* = "hsignal:buflist_mouse" +@item(buflist2):button1* = "hsignal:buflist_mouse" +@item(buflist2):button2* = "hsignal:buflist_mouse" +@item(buflist3):button1* = "hsignal:buflist_mouse" +@item(buflist3):button2* = "hsignal:buflist_mouse" +@item(buflist4):button1* = "hsignal:buflist_mouse" +@item(buflist4):button2* = "hsignal:buflist_mouse" +@item(buflist5):button1* = "hsignal:buflist_mouse" +@item(buflist5):button2* = "hsignal:buflist_mouse" diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1 @@ + diff --git a/.emacs.d/init.el b/.emacs.d/init.el new file mode 100644 index 0000000..0c6a4b4 --- /dev/null +++ b/.emacs.d/init.el @@ -0,0 +1,72 @@ +;; Ensure package management is set up +(require 'package) +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) +(package-initialize) + +;; Use use-package for better package management +(unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + +(require 'use-package) + +;; Geiser configuration +(use-package geiser + :ensure t + :config + (setq geiser-active-implementations '(guile))) + +(use-package geiser-guile + :ensure t) + +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(inhibit-startup-screen t) + '(package-selected-packages '(geiser-guile geiser)) + '(safe-local-variable-values + '((eval progn + (require 'lisp-mode) + (defun emacs27-lisp-fill-paragraph + (&optional justify) + (interactive "P") + (or + (fill-comment-paragraph justify) + (let + ((paragraph-start + (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)")) + (paragraph-separate + (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) + (fill-column + (if + (and + (integerp emacs-lisp-docstring-fill-column) + (derived-mode-p 'emacs-lisp-mode)) + emacs-lisp-docstring-fill-column fill-column))) + (fill-paragraph justify)) + t)) + (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)) + (eval modify-syntax-entry 43 "'") + (eval modify-syntax-entry 36 "'") + (eval modify-syntax-entry 126 "'") + (geiser-repl-per-project-p . t) + (eval with-eval-after-load 'yasnippet + (let + ((guix-yasnippets + (expand-file-name "etc/snippets/yas" + (locate-dominating-file default-directory ".dir-locals.el")))) + (unless + (member guix-yasnippets yas-snippet-dirs) + (add-to-list 'yas-snippet-dirs guix-yasnippets) + (yas-reload-all)))) + (eval setq-local guix-directory + (locate-dominating-file default-directory ".dir-locals.el")) + (eval add-to-list 'completion-ignored-extensions ".go")))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(default ((t (:family "Source Code Pro" :foundry "ADBO" :slant normal :weight regular :height 158 :width normal))))) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..019ee64 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +*.eps +*.go +*.log +*.mo +*.pdf +*.png +*.tar.xz +*.tmp +*~ +.#* +\#*\# +,* +.DS_Store diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..4d95a9a --- /dev/null +++ b/Justfile @@ -0,0 +1,3 @@ +default: + guix home reconfigure ./home-configuration.scm + diff --git a/gitconfig b/gitconfig new file mode 100644 index 0000000..e0b8335 --- /dev/null +++ b/gitconfig @@ -0,0 +1,14 @@ +[user] + signingkey = CE4C5BAE04052CF4 + email = git@ethanreece.com + name = Ethan Reece +[commit] + gpgsign = true +[gpg] + program = gpg + format = openpgp + use-agent = true +[gpg "loopback"] + pinentry-mode = loopback +[init] + defaultBranch = main diff --git a/home-configuration.scm b/home-configuration.scm new file mode 100644 index 0000000..d736609 --- /dev/null +++ b/home-configuration.scm @@ -0,0 +1,192 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages) + (gnu services) + (guix gexp) + (guix channels) + (gnu home services) + (gnu home services shells) + (gnu home services symlink-manager) + (gnu home services guix) + (gnu home services gnupg)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (specifications->packages (list "emacs-guix" + "emacs-geiser-guile" + "emacs-geiser" + "guile" + "guix" + "emacs" + "make" + "just" + "bat" + "cups" + "weechat" +; "librewolf" + "icecat" + "ungoogled-chromium-wayland" + "icedove-wayland" +; "swaylock-effects" +; "swaynotificationcenter" + "pijul" + "git" + "starship" + "openssh" +; "hyprland" + "inkscape" + "lm-sensors" + "gimp" + "flatpak" + "libreoffice" + "kitty" + "gnupg" + "dolphin" + "keepassxc" + "htop" + "anki" + "audacity" + "calibre" + "mpv" + "feh" + "fish" + "fish-foreign-env" +; "logseq" + "obs" + "qbittorrent" + "ranger" + "speedcrunch" + "syncthing" + "vscodium" + "wireshark" + "zathura" + "zathura-pdf-mupdf" + "helix" +; "monero-gui" + "vim" + "neovim" + "nushell"))) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (list ;(service home-bash-service-type +; (home-bash-configuration +; (aliases '(("egrep" . "grep -E --color=auto") +; ("fgrep" . "grep -F --color=auto") +; ("grep" . "grep --color=auto") +; ("l." . "ls -d .* --color=auto") +; ("ll" . "ls -l --color=auto") +; ("ls" . "ls --color=auto") +; ("which" . "(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot") +; ("xzegrep" . "xzegrep --color=auto") +; ("xzfgrep" . "xzfgrep --color=auto") +; ("xzgrep" . "xzgrep --color=auto") +; ("zegrep" . "zegrep --color=auto") +; ("zfgrep" . "zfgrep --color=auto") +; ("zgrep" . "zgrep --color=auto"))) +; (bashrc (list (local-file +; "/home/sudoer777/src/guix-config/.bashrc" +; "bashrc"))) +; (bash-profile (list (local-file +; "/home/sudoer777/src/guix-config/.bash_profile" +; "bash_profile"))) +; (bash-logout (list (local-file +; "/home/sudoer777/src/guix-config/.bash_logout" +; "bash_logout"))))) + (service home-channels-service-type + (list (channel + (name 'guix) + (url "https://git.savannah.gnu.org/git/guix.git") + (branch "master") + (commit + "ddbbb78786e104a9a9e93cffe9f69b6c0f3bd4ed") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) + (channel + (name 'atomized) + (url "https://codeberg.org/ieure/atomized-guix.git") + (branch "main") + (introduction + (make-channel-introduction + "bdbcd3c5815f64799e2c0d139896da83d9972bd1" + (openpgp-fingerprint + "6980 A9B9 5202 AA11 EB1D 8922 8499 AC88 F1A7 1CF2")))) + (channel + (name 'rrr) + (url "https://git.sr.ht/~akagi/rrr") + (branch "master") + (introduction + (make-channel-introduction + "794d6e5eb362bfcf81ada12b6a49a0cd55c8e031" + (openpgp-fingerprint + "FF72 877C 4F21 FC4D 467D 20C4 DCCB 5255 2098 B6C1")))) + (channel + (name 'tuziwo) + (url "https://gitlab.com/woshilapin/tuziwo-channel") + (branch "main") + (introduction + (make-channel-introduction + "0deff2a94032f2d96e82f93edeb61f35da879987" + (openpgp-fingerprint + "5554 54E7 6611 9F60 80F1 2F63 B041 63DC 7020 116A")))) + (channel + (name 'rosenthal) + (url "https://github.com/rakino/rosenthal") + (branch "trunk") + (introduction + (make-channel-introduction + "7677db76330121a901604dfbad19077893865f35" + (openpgp-fingerprint + "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) + (channel + (name 'saayix) + (url "https://codeberg.org/look/saayix") + (branch "main") + (introduction + (make-channel-introduction + "12540f593092e9a177eb8a974a57bb4892327752" + (openpgp-fingerprint + "3FFA 7335 973E 0A49 47FC 0A8C 38D5 96BE 07D3 34AB")))) + (channel + (name 'small-guix) + (url "https://gitlab.com/orang3/small-guix") + (branch "master") + (introduction + (make-channel-introduction + "f260da13666cd41ae3202270784e61e062a3999c" + (openpgp-fingerprint + "8D10 60B9 6BB8 292E 829B 7249 AED4 1CC1 93B7 01E2")))) + (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (branch "master") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))) + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (ssh-support? #t))) + (service home-fish-service-type + (home-fish-configuration + (config + (list + (local-file ".config/fish/config.fish"))))) + (service home-files-service-type + `((".emacs.d/init.el" ,(local-file "./.emacs.d/init.el")) + (".gitconfig" ,(local-file "./gitconfig")))) + (service home-xdg-configuration-files-service-type + `(("weechat/weechat.conf" ,(local-file "./.config/weechat/weechat.conf")) + ("zathura/zathurarc" ,(local-file "./.config/zathura/zathurarc")))) + (service home-symlink-manager-service-type))))