From 1dd6fdf9d79cfc916f35ff8885a1fdf5ece8f078 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Wed, 1 Oct 2025 20:10:01 -0400 Subject: [PATCH] Move all custom configs to be installed alongside their respective applications --- applications.go | 153 +++++++++++++++++++++++++++++++++++++++++ configurations.go | 169 +--------------------------------------------- 2 files changed, 155 insertions(+), 167 deletions(-) diff --git a/applications.go b/applications.go index d84f7d7..6d41ebb 100644 --- a/applications.go +++ b/applications.go @@ -45,6 +45,7 @@ func applications() { fallthrough case 7: managePackages("-S", []string{"neovim"}) + writeFile(mountPoint+"/etc/xdg/nvim/sysinit.vim", sysinitVim, "root", 0644) if !doAll { break @@ -69,6 +70,8 @@ func applications() { fallthrough case 10: managePackages("-S", []string{"zed"}) + mkdir(mountPoint + "/home/" + getUsername() + "/.config/zed") + writeFile(mountPoint+"/home/"+getUsername()+"/.config/zed/settings.json", zed, getUsername(), 0600) if !doAll { break @@ -136,3 +139,153 @@ alias schedutil='doas /usr/local/bin/powerset.sh schedutil' alias poweroff='doas /usr/bin/poweroff' alias reboot='doas /usr/bin/reboot' ` + +const sysinitVim = `" rwinkhart/cachyos-postinstall-helper 09/28/2025 + +" ensure correct basic settings +set fileencoding=utf-8 + +" show line numbers +set number + +" enable basic spellchecking +set spell + +" set keybinds (home/end, delete w/o copy) +noremap +imap +noremap +imap +nnoremap x "_x +nnoremap "_x + +" expand all tabs and indents to 4 spaces +set tabstop=4 +set shiftwidth=4 +set expandtab +autocmd FileType go,html,php,css set noexpandtab + +" set default clipboard register to system clipboard +set clipboard=unnamedplus + +" enable visually indented text wrapping +set wrap +set breakindent +set showbreak=→ + +" do not auto-break lines unless they are 1000+ characters long +set textwidth=1000 + +" do not create automatic backups of any sort +set nobackup +set nowritebackup + +" default to case insensitive search unless a capital is typed +set ignorecase +set smartcase + +" tell vim to remember certain things when exited +" '10 : marks will be remembered for up to 10 previously edited files +" "100 : will save up to 100 lines for each register +" :20 : up to 20 lines of command-line history will be remembered +" % : saves and restores the buffer list +" n... : where to save the viminfo files +set viminfo='10,\"100,:20,%,n~/.local/share/nviminfo + +" restores cursor position in recently opened files +function! ResCur() + if line("'\"") <= line("$")` + + "\nnormal! g`" + `" + return 1 + endif +endfunction + +augroup resCur + autocmd! + autocmd BufWinEnter * call ResCur() +augroup END +` + +const zed = `{ + // rwinkhart/cachyos-postinstall-helper 09/28/2025 + + // AI Settings + "telemetry": { + "metrics": false, + "diagnostics": false + }, + "edit_predictions": { + "mode": "subtle", + "enabled_in_text_threads": false + }, + "show_edit_predictions": true, + "agent": { + "default_profile": "ask", + "default_model": { + "provider": "copilot_chat", + "model": "claude-sonnet-4" + } + }, + "features": { + "edit_prediction_provider": "copilot" + }, + // General Settings + "minimap": { + "show": "always" + }, + "icon_theme": "JetBrains New UI Icons (Dark)", + "middle_click_paste": false, + "base_keymap": "VSCode", + "autosave": "off", + "theme": "Gruvbox Dark", + "ui_font_size": 14, + "buffer_font_size": 18, + "auto_update": false, + "terminal": { + "shell": { + "program": "zsh" + } + }, + "tab_size": 4, + "preferred_line_length": 120, + "git": { + "inline_blame": { + "enabled": false + } + }, + // Language-specific Settings + "languages": { + "Python": { + "soft_wrap": "preferred_line_length" + }, + "Go": { + "hard_tabs": true + }, + "JavaScript": { + "format_on_save": "off" + }, + "CSS": { + "format_on_save": "off" + } + }, + // De-clutter UI + "tab_bar": { + "show_nav_history_buttons": false + }, + "search": { + "button": false + }, + "title_bar": { + "show_branch_name": false + }, + "notification_panel": { + "button": false + }, + "collaboration_panel": { + "button": false + }, + "git_panel": { + "button": false + } +} +` diff --git a/configurations.go b/configurations.go index 8f3bcff..f51d835 100644 --- a/configurations.go +++ b/configurations.go @@ -7,7 +7,7 @@ import ( func configurations() { for { var doAll bool - choice := front.InputMenuGen("Custom config:", []string{"BACK", "ALL", "shell profile", "neovim", "zed", "makepkg", "pacman"}) + choice := front.InputMenuGen("Custom config:", []string{"BACK", "ALL", "shell profile", "makepkg", "pacman"}) switch choice { case 1: return @@ -23,28 +23,13 @@ func configurations() { } fallthrough case 4: - writeFile(mountPoint+"/etc/xdg/nvim/sysinit.vim", sysinitVim, "root", 0644) - - if !doAll { - break - } - fallthrough - case 5: - mkdir(mountPoint + "/home/" + getUsername() + "/.config/zed") - writeFile(mountPoint+"/home/"+getUsername()+"/.config/zed/settings.json", zed, getUsername(), 0600) - - if !doAll { - break - } - fallthrough - case 6: writeFile(mountPoint+"/etc/makepkg.conf", makepkg, "root", 0644) if !doAll { break } fallthrough - case 7: + case 5: managePackages("-S", []string{"pacman-contrib"}) writeFile(mountPoint+"/etc/pacman.conf", pacman, "root", 0644) writeFile(mountPoint+"/etc/pacman.d/hooks/paccache-clean.hook", pacmanHookClean, "root", 0644) @@ -93,156 +78,6 @@ export SHELL=/usr/bin/zsh export BUILDDIR=/tmp/makepkg ` -const sysinitVim = `" rwinkhart/cachyos-postinstall-helper 09/28/2025 - -" ensure correct basic settings -set fileencoding=utf-8 - -" show line numbers -set number - -" enable basic spellchecking -set spell - -" set keybinds (home/end, delete w/o copy) -noremap -imap -noremap -imap -nnoremap x "_x -nnoremap "_x - -" expand all tabs and indents to 4 spaces -set tabstop=4 -set shiftwidth=4 -set expandtab -autocmd FileType go,html,php,css set noexpandtab - -" set default clipboard register to system clipboard -set clipboard=unnamedplus - -" enable visually indented text wrapping -set wrap -set breakindent -set showbreak=→ - -" do not auto-break lines unless they are 1000+ characters long -set textwidth=1000 - -" do not create automatic backups of any sort -set nobackup -set nowritebackup - -" default to case insensitive search unless a capital is typed -set ignorecase -set smartcase - -" tell vim to remember certain things when exited -" '10 : marks will be remembered for up to 10 previously edited files -" "100 : will save up to 100 lines for each register -" :20 : up to 20 lines of command-line history will be remembered -" % : saves and restores the buffer list -" n... : where to save the viminfo files -set viminfo='10,\"100,:20,%,n~/.local/share/nviminfo - -" restores cursor position in recently opened files -function! ResCur() - if line("'\"") <= line("$")` + - "\nnormal! g`" + `" - return 1 - endif -endfunction - -augroup resCur - autocmd! - autocmd BufWinEnter * call ResCur() -augroup END -` - -const zed = `{ - // rwinkhart/cachyos-postinstall-helper 09/28/2025 - - // AI Settings - "telemetry": { - "metrics": false, - "diagnostics": false - }, - "edit_predictions": { - "mode": "subtle", - "enabled_in_text_threads": false - }, - "show_edit_predictions": true, - "agent": { - "default_profile": "ask", - "default_model": { - "provider": "copilot_chat", - "model": "claude-sonnet-4" - } - }, - "features": { - "edit_prediction_provider": "copilot" - }, - // General Settings - "minimap": { - "show": "always" - }, - "icon_theme": "JetBrains New UI Icons (Dark)", - "middle_click_paste": false, - "base_keymap": "VSCode", - "autosave": "off", - "theme": "Gruvbox Dark", - "ui_font_size": 14, - "buffer_font_size": 18, - "auto_update": false, - "terminal": { - "shell": { - "program": "zsh" - } - }, - "tab_size": 4, - "preferred_line_length": 120, - "git": { - "inline_blame": { - "enabled": false - } - }, - // Language-specific Settings - "languages": { - "Python": { - "soft_wrap": "preferred_line_length" - }, - "Go": { - "hard_tabs": true - }, - "JavaScript": { - "format_on_save": "off" - }, - "CSS": { - "format_on_save": "off" - } - }, - // De-clutter UI - "tab_bar": { - "show_nav_history_buttons": false - }, - "search": { - "button": false - }, - "title_bar": { - "show_branch_name": false - }, - "notification_panel": { - "button": false - }, - "collaboration_panel": { - "button": false - }, - "git_panel": { - "button": false - } -} -` - const makepkg = `#!/hint/bash # # /etc/makepkg.conf - rwinkhart/cachyos-postinstall-helper 09/28/2025