Compare commits

...

9 Commits

Author SHA1 Message Date
Kendall Whitman 8724f66761 update input text 2026-04-27 15:22:58 -05:00
Kendall Whitman 9150696ab7 update claude config 2026-04-27 10:13:49 -05:00
Kendall Whitman 1e2f5c61da update file structure 2026-04-23 11:17:45 -05:00
Kendall Whitman 1aeb550ec7 remove bash install files 2026-04-23 09:20:40 -05:00
Kendall Whitman 7f006e2a31 update install and config files 2026-04-22 21:19:24 -05:00
Kendall Whitman 95f748f930 update install config 2026-04-22 18:16:04 -05:00
Kendall Whitman bb4a3b78a6 update neovim config 2026-04-22 18:15:45 -05:00
Kendall Whitman d13440c809 update alacritty config 2026-04-22 18:15:24 -05:00
Kendall Whitman 898315886f update nvim-pack-lock 2026-04-12 16:15:18 -05:00
35 changed files with 140 additions and 1043 deletions
@@ -10,7 +10,7 @@ dynamic_padding = true
padding = { x = 5, y = 5 }
decorations = "full"
title = "Alacritty@CachyOS"
opacity = 0.9
opacity = 0.98
decorations_theme_variant = "Dark"
[window.dimensions]
@@ -98,6 +98,7 @@ vim.pack.add({
"https://github.com/MeanderingProgrammer/render-markdown.nvim",
"https://github.com/williamboman/mason.nvim",
"https://github.com/williamboman/mason-lspconfig.nvim",
"https://github.com/greggh/claude-code.nvim",
})
-- Plugin Configs
+61
View File
@@ -0,0 +1,61 @@
require("claude-code").setup({
-- Terminal window settings
window = {
split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits)
position = "float", -- Position of the window: "botright", "topleft", "vertical", "float", etc.
enter_insert = true, -- Whether to enter insert mode when opening Claude Code
hide_numbers = true, -- Hide line numbers in the terminal window
hide_signcolumn = true, -- Hide the sign column in the terminal window
-- Floating window configuration (only applies when position = "float")
float = {
width = "80%", -- Width: number of columns or percentage string
height = "80%", -- Height: number of rows or percentage string
row = "center", -- Row position: number, "center", or percentage string
col = "center", -- Column position: number, "center", or percentage string
relative = "editor", -- Relative to: "editor" or "cursor"
border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow"
},
},
-- File refresh settings
refresh = {
enable = true, -- Enable file change detection
updatetime = 100, -- updatetime when Claude Code is active (milliseconds)
timer_interval = 1000, -- How often to check for file changes (milliseconds)
show_notifications = true, -- Show notification when files are reloaded
},
-- Git project settings
git = {
use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project)
},
-- Shell-specific settings
shell = {
separator = '&&', -- Command separator used in shell commands
pushd_cmd = 'pushd', -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell)
popd_cmd = 'popd', -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell)
},
-- Command settings
command = "claude", -- Command used to launch Claude Code
-- Command variants
command_variants = {
-- Conversation management
continue = "--continue", -- Resume the most recent conversation
resume = "--resume", -- Display an interactive conversation picker
-- Output options
verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output
},
-- Keymaps
keymaps = {
toggle = {
normal = "<leader>cc", -- Normal mode keymap for toggling Claude Code, false to disable
terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable
variants = {
continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag
verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag
},
},
window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>)
scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down
}
})
@@ -9,3 +9,4 @@ require('plugins.treesitter')
require('plugins.cmp')
require('plugins.render-markdown')
require('plugins.mason')
require('plugins.claude')
@@ -1,71 +1,75 @@
{
"plugins": {
"auto-save.nvim": {
"rev": "979b6c8",
"rev": "979b6c82f60cfa80f4cf437d77446d0ded0addf0",
"src": "https://github.com/Pocco81/auto-save.nvim"
},
"claude-code.nvim": {
"rev": "55c0cb59828fbc3bec744288286a46f5d5750b83",
"src": "https://github.com/greggh/claude-code.nvim"
},
"cmp-buffer": {
"rev": "b74fab3",
"rev": "b74fab3656eea9de20a9b8116afa3cfc4ec09657",
"src": "https://github.com/hrsh7th/cmp-buffer"
},
"cmp-nvim-lsp": {
"rev": "bd5a7d6",
"rev": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3",
"src": "https://github.com/hrsh7th/cmp-nvim-lsp"
},
"gitsigns.nvim": {
"rev": "20ad441",
"rev": "20ad4419564d6e22b189f6738116b38871082332",
"src": "https://github.com/lewis6991/gitsigns.nvim"
},
"gruvbox.nvim": {
"rev": "5e0a460",
"rev": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437",
"src": "https://github.com/ellisonleao/gruvbox.nvim"
},
"indent-blankline.nvim": {
"rev": "005b560",
"rev": "005b56001b2cb30bfa61b7986bc50657816ba4ba",
"src": "https://github.com/lukas-reineke/indent-blankline.nvim"
},
"mason-lspconfig.nvim": {
"rev": "2304ff6",
"rev": "2304ff65ecc8cb2afc2484de3e2ed9a407edf0b9",
"src": "https://github.com/williamboman/mason-lspconfig.nvim"
},
"mason.nvim": {
"rev": "ad7146a",
"rev": "ad7146aa61dcaeb54fa900144d768f040090bff0",
"src": "https://github.com/williamboman/mason.nvim"
},
"nvim-autopairs": {
"rev": "7a2c97c",
"rev": "7a2c97cccd60abc559344042fefb1d5a85b3e33b",
"src": "https://github.com/windwp/nvim-autopairs"
},
"nvim-cmp": {
"rev": "a7bcf1d",
"rev": "a7bcf1d88069fc67c9ace8a62ba480b8fe879025",
"src": "https://github.com/hrsh7th/nvim-cmp"
},
"nvim-lspconfig": {
"rev": "ac98db2",
"rev": "ac98db2f9f06a56498ec890a96928774eae412c3",
"src": "https://github.com/neovim/nvim-lspconfig"
},
"nvim-tree.lua": {
"rev": "64e2192",
"rev": "64e2192f5250796aa4a7f33c6ad888515af50640",
"src": "https://github.com/nvim-tree/nvim-tree.lua"
},
"nvim-treesitter": {
"rev": "42fc28ba",
"rev": "42fc28ba918343ebfd5565147a42a26580579482",
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
},
"nvim-web-devicons": {
"rev": "b8221e4",
"rev": "b8221e42cf7287c4dcde81f232f58d7b947c210d",
"src": "https://github.com/nvim-tree/nvim-web-devicons"
},
"plenary.nvim": {
"rev": "b9fd522",
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
"src": "https://github.com/nvim-lua/plenary.nvim"
},
"render-markdown.nvim": {
"rev": "475d3ad",
"rev": "475d3ad8cae486b0df6fc6050cf5b5ea1de42db8",
"src": "https://github.com/MeanderingProgrammer/render-markdown.nvim"
},
"telescope.nvim": {
"rev": "b4da76b",
"rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7",
"src": "https://github.com/nvim-telescope/telescope.nvim"
}
}
-61
View File
@@ -1,61 +0,0 @@
APPS=(
brave-bin
element-desktop
libreoffice-fresh
neovim-git
proton-mail-bin
proton-vpn-gtk-app
rtorrent
steam
stow
tmux
wl-clipboard
)
# Sym Link Home Folders To External Storage
while true; do
read -p "Do you want to link home folders with external storage? y/N: " storageChoice
storageChoice=$(echo "$storageChoice" | tr '[:upper:]' '[:lower:]')
sudo rm -rf ~/Public ~/Templates
if [ "$storageChoice" = "y" ]; then
read -p "Specify the path to the external storage device (full path must be used): " storagePath
sudo rm -rf ~/Documents ~/Pictures ~/Downloads ~/Videos ~/Music
ln -s "$storagePath/Pictures/" ~/
ln -s "$storagePath/Repos/" ~/
ln -s "$storagePath/Documents/" ~/
ln -s "$storagePath/Downloads/" ~/
ln -s "$storagePath/Videos/" ~/
ln -s "$storagePath/Music/" ~/
break
elif [ "$storageChoice" = "n" ]; then
echo "Skipping sym linking..."
cp -r ./Repos ~
break
else
echo "Invalid input. Please enter y or n."
fi
done
# Install Apt Apps
for i in "${APPS[@]}"
do
if [ -x "$(command -v $i)" ]; then
echo "$i already installed!"
else
sudo pacman -S $i
fi
done
sudo rm -rf ~/.config/fish/ ~/.config/alacritty
# Link Config Files
for folder in ${DOTFILES[@]}
do
echo $folder
stow $folder --adopt
done
-27
View File
@@ -1,27 +0,0 @@
while true; do
read -p "Do you want to link home folders with external storage? y/N: " storageChoice
storageChoice=$(echo "$storageChoice" | tr '[:upper:]' '[:lower:]')
sudo rm -rf ~/Public ~/Templates
if [ "$storageChoice" = "y" ]; then
read -p "Specify the path to the external storage device (full path must be used): " storagePath
sudo rm -rf ~/Documents ~/Pictures ~/Downloads ~/Videos ~/Music
ln -s "$storagePath/Pictures/" ~/
ln -s "$storagePath/Repos/" ~/
ln -s "$storagePath/Documents/" ~/
ln -s "$storagePath/Downloads/" ~/
ln -s "$storagePath/Videos/" ~/
ln -s "$storagePath/Music/" ~/
break
elif [ "$storageChoice" = "n" ]; then
echo "Skipping sym linking..."
cp -r ./Repos ~
break
else
echo "Invalid input. Please enter y or n."
fi
done
-7
View File
@@ -1,7 +0,0 @@
sudo apt remove gettext-base -y
sudo apt install gettext -y
source ~/.bashrc
git clone https://github.com/neovim/neovim
cd neovim
make CMAKE_BUILD_TYPE=RelWithDebInfo && cd build && cpack -G DEB && sudo dpkg -i nvim-linux-x86_64.deb
cd ~/.dotfiles/ && sudo rm -rf neovim
-173
View File
@@ -1,173 +0,0 @@
APPS=(
cmake
curl
flatpak
g++
btop
fastfetch
ninja-build
plasma-discover-backend-flatpak
ripgrep
rtorrent
scdaemon
steam
stow
tmux
tmuxp
virt-manager
wl-clipboard
)
FLATPAK_APPS=(
com.protonvpn.www
im.riot.Riot
org.darktable.Darktable
org.freecad.FreeCAD
org.gimp.GIMP
org.inkscape.Inkscape
org.libreoffice.LibreOffice
com.brave.Browser
)
DOTFILES=(
bash
konsole
menus
nvim
rtorrent
tmux
tmuxp
)
# Check if Snap is installed
if [ -x "$(command -v snap)" ]; then
echo "Remove Snap packages first before running this script!"
exit 1
fi
# Sym Link Home Folders To External Storage
while true; do
read -p "Do you want to link home folders with external storage? y/N: " storageChoice
storageChoice=$(echo "$storageChoice" | tr '[:upper:]' '[:lower:]')
sudo rm -rf ~/Public ~/Templates
if [ "$storageChoice" = "y" ]; then
read -p "Specify the path to the external storage device (full path must be used): " storagePath
sudo rm -rf ~/Documents ~/Pictures ~/Downloads ~/Videos ~/Music
ln -s "$storagePath/Pictures/" ~/
ln -s "$storagePath/Repos/" ~/
ln -s "$storagePath/Documents/" ~/
ln -s "$storagePath/Downloads/" ~/
ln -s "$storagePath/Videos/" ~/
ln -s "$storagePath/Music/" ~/
break
elif [ "$storageChoice" = "n" ]; then
echo "Skipping sym linking..."
cp -r ./Repos ~
break
else
echo "Invalid input. Please enter y or n."
fi
done
# Install Apt Apps
for i in "${APPS[@]}"
do
if [ -x "$(command -v $i)" ]; then
echo "$i already installed!"
else
sudo apt install $i -y
fi
done
# Add Flathub Repo
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install Flatpak Apps
for i in "${FLATPAK_APPS[@]}"
do
if [ -x "$(command -v $i)" ]; then
echo "$i already installed!"
else
flatpak install $i -y
fi
done
# NVM Setup
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
. ~/.nvm/nvm.sh
nvm install --lts
# Add Yubikey Support to bashrc
if grep -q '# Yubikey SSH Support' ~/.bashrc; then
echo "Yubikey support already added."
else
echo "
# Yubikey SSH Support
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
" >> ~/.bashrc
fi
# Remove default menu config files
sudo rm -rf ~/.config/menus ~/.config/plasma-org.kde.plasma.desktop-appletsrc
# Link Config Files
for folder in ${DOTFILES[@]}
do
echo $folder
stow $folder --adopt
done
git restore .
# Font Install
sudo cp ./fonts/FiraCodeNerdFontMono-Medium.ttf /usr/local/share/fonts
# Check if this is my profile
while true; do
read -p "Is this profile for Kendall? y/N: " profileChoice
profileChoice=$(echo "$profileChoice" | tr '[:upper:]' '[:lower:]')
if [ "$profileChoice" = "y" ]; then
# Add User To Group For Virtual Manager
sudo adduser kendall libvirt-qemu
break
elif [ "$profileChoice" = "n" ]; then
break
else
echo "Invalid input. Please enter y or n."
fi
done
# Install latest Neovim
if ! [ -x "$(command -v nvim)" ]; then
sudo apt remove gettext-base -y
sudo apt install gettext -y
source ~/.bashrc
git clone https://github.com/neovim/neovim
cd neovim
make CMAKE_BUILD_TYPE=RelWithDebInfo && cd build && cpack -G DEB && sudo dpkg -i nvim-linux-x86_64.deb
cd ~/.dotfiles/ && sudo rm -rf neovim
fi
-35
View File
@@ -1,35 +0,0 @@
[Desktop Entry]
DefaultProfile=Profile 1.profile
[General]
ConfigVersion=1
[KFileDialog Settings]
iconViewIconSize=64
[MainWindow]
1920x1080 screen: Height=554
1920x1080 screen: Width=911
1920x1080 screen: Window-Maximized=true
2 screens: Height=1041
2 screens: Width=1732
2 screens: Window-Maximized=true
2 screens: XPosition=0
2 screens: YPosition=30
2560x1440 screen: Height=690
2560x1440 screen: Width=1280
2560x1440 screen: Window-Maximized=true
2560x1440 screen: XPosition=0
2560x1440 screen: YPosition=30
3 screens: Height=900
3 screens: Width=1706
3 screens: Window-Maximized=true
DP-1=DP-1
DP-2=DP-2
DP-2 HDMI-0=DP-2
MenuBar=Disabled
State[$d]
ToolBarsMovable=Disabled
[UiSettings]
ColorScheme=
@@ -1,25 +0,0 @@
[Appearance]
AntiAliasFonts=true
BoldIntense=true
ColorScheme=Breeze
Font=FiraCode Nerd Font Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
UseFontBrailleChararacters=true
UseFontLineChararacters=false
[General]
Command=/bin/tmux
DimWhenInactive=false
Name=Profile 1
Parent=FALLBACK/
StartInCurrentSessionDir=false
TerminalColumns=160
TerminalRows=50
[Scrolling]
HistoryMode=2
ScrollBarPosition=2
ScrollFullPage=false
[Terminal Features]
BellMode=3
BlinkingCursorEnabled=true
@@ -1,290 +0,0 @@
<!DOCTYPE Menu PUBLIC '-//freedesktop//DTD Menu 1.0//EN' 'http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd'>
<Menu>
<Menu>
<Name>Development</Name>
<Exclude>
<Filename>org.kde.kate.desktop</Filename>
<Filename>Godot.desktop</Filename>
</Exclude>
<Include/>
<Layout>
<Merge type="menus"/>
<Menuname>Translation</Menuname>
<Menuname>Web Development</Menuname>
</Layout>
<Deleted/>
</Menu>
<Menu>
<Name>Education</Name>
<Menu>
<Name>Science</Name>
<Deleted/>
</Menu>
<Menu>
<Name>Mathematics</Name>
<Layout/>
<Exclude>
<Filename>org.libreoffice.LibreOffice.math.desktop</Filename>
</Exclude>
</Menu>
<Layout>
<Merge type="menus"/>
<Menuname>Languages</Menuname>
<Menuname>Mathematics</Menuname>
<Menuname>Miscellaneous</Menuname>
<Menuname>Tools</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Graphics</Name>
<Exclude>
<Filename>org.libreoffice.LibreOffice.draw.desktop</Filename>
<Filename>display-im6.q16.desktop</Filename>
<Filename>org.kde.okular.desktop</Filename>
<Filename>org.kde.gwenview.desktop</Filename>
</Exclude>
<Include>
<Filename>com.obsproject.Studio.desktop</Filename>
<Filename>com.ultimaker.cura.desktop</Filename>
<Filename>Godot.desktop</Filename>
<Filename>Unity Hub.desktop</Filename>
</Include>
<Layout>
<Merge type="files"/>
<Filename>org.blender.Blender.desktop</Filename>
<Filename>org.darktable.Darktable.desktop</Filename>
<Filename>org.freecad.FreeCAD.desktop</Filename>
<Filename>org.gimp.GIMP.desktop</Filename>
<Filename>org.inkscape.Inkscape.desktop</Filename>
<Filename>com.obsproject.Studio.desktop</Filename>
<Filename>com.ultimaker.cura.desktop</Filename>
<Filename>Unity Hub.desktop</Filename>
<Separator/>
<Merge type="menus"/>
<Menuname>More</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Internet</Name>
<Exclude>
<Filename>steam.desktop</Filename>
<Filename>remote-viewer.desktop</Filename>
<Filename>io.github.input_leap.input-leap.desktop</Filename>
</Exclude>
<Include>
<Filename>ch.protonmail.protonmail-bridge.desktop</Filename>
</Include>
<Layout>
<Merge type="files"/>
<Filename>im.riot.Riot.desktop</Filename>
<Filename>io.gitlab.librewolf-community.desktop</Filename>
<Filename>com.protonvpn.www.desktop</Filename>
<Filename>com.slack.Slack.desktop</Filename>
<Merge type="menus"/>
<Menuname>Terminal</Menuname>
<Separator/>
<Menuname>More</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Multimedia</Name>
<Exclude>
<Filename>com.obsproject.Studio.desktop</Filename>
</Exclude>
<Layout>
<Merge type="menus"/>
<Menuname>More</Menuname>
</Layout>
<Deleted/>
</Menu>
<Menu>
<Name>Settingsmenu</Name>
<Include/>
<Exclude>
<Filename>remote-viewer.desktop</Filename>
<Filename>org.fcitx.fcitx5-migrator.desktop</Filename>
<Filename>im-config.desktop</Filename>
<Filename>systemsettings.desktop</Filename>
<Filename>nvidia-settings.desktop</Filename>
</Exclude>
<Layout/>
</Menu>
<Menu>
<Name>System</Name>
<Include>
<Filename>im-config.desktop</Filename>
<Filename>systemsettings.desktop</Filename>
<Filename>org.fcitx.fcitx5-migrator.desktop</Filename>
<Filename>org.fcitx.Fcitx5.desktop</Filename>
</Include>
<Exclude>
<Filename>display-im6.q16.desktop</Filename>
<Filename>com.ultimaker.cura.desktop</Filename>
<Filename>htop.desktop</Filename>
<Filename>org.kde.dolphin.desktop</Filename>
<Filename>org.kde.discover.desktop</Filename>
<Filename>org.kde.partitionmanager.desktop</Filename>
<Filename>virt-manager.desktop</Filename>
<Filename>org.kde.konsole.desktop</Filename>
</Exclude>
<Menu>
<Name>ScreenSavers</Name>
<Layout/>
<Include/>
<Exclude>
<Filename>org.fcitx.Fcitx5.desktop</Filename>
</Exclude>
</Menu>
<Layout>
<Merge type="files"/>
<Filename>btop.desktop</Filename>
<Filename>org.kde.kinfocenter.desktop</Filename>
<Filename>im-config.desktop</Filename>
<Filename>org.kde.ksystemlog.desktop</Filename>
<Filename>org.kde.kwalletmanager.desktop</Filename>
<Filename>org.kde.kmenuedit.desktop</Filename>
<Filename>nvidia-settings.desktop</Filename>
<Merge type="menus"/>
<Menuname>ScreenSavers</Menuname>
<Filename>org.kde.plasma-systemmonitor.desktop</Filename>
<Filename>systemsettings.desktop</Filename>
<Filename>debian-uxterm.desktop</Filename>
<Filename>debian-xterm.desktop</Filename>
<Separator/>
<Menuname>More</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Utilities</Name>
<Include>
<Filename>display-im6.q16.desktop</Filename>
<Filename>remote-viewer.desktop</Filename>
<Filename>htop.desktop</Filename>
<Filename>org.kde.okular.desktop</Filename>
<Filename>org.kde.gwenview.desktop</Filename>
<Filename>io.github.input_leap.input-leap.desktop</Filename>
<Filename>org.kde.dolphin.desktop</Filename>
<Filename>org.kde.discover.desktop</Filename>
<Filename>org.kde.partitionmanager.desktop</Filename>
<Filename>virt-manager.desktop</Filename>
<Filename>org.kde.konsole.desktop</Filename>
</Include>
<Exclude>
<Filename>com.ultimaker.cura.desktop</Filename>
<Filename>com.logseq.Logseq.desktop</Filename>
<Filename>org.fcitx.Fcitx5.desktop</Filename>
<Filename>org.fcitx.fcitx5-migrator.desktop</Filename>
</Exclude>
<Menu>
<Name>Terminal</Name>
<NotDeleted/>
</Menu>
<Layout>
<Merge type="files"/>
<Filename>org.kde.ark.desktop</Filename>
<Filename>org.kde.discover.desktop</Filename>
<Filename>org.kde.dolphin.desktop</Filename>
<Filename>org.kde.plasma.emojier.desktop</Filename>
<Filename>org.kde.gwenview.desktop</Filename>
<Filename>io.github.input_leap.input-leap.desktop</Filename>
<Filename>org.kde.kate.desktop</Filename>
<Filename>org.kde.kcalc.desktop</Filename>
<Filename>org.kde.kcharselect.desktop</Filename>
<Filename>org.kde.konsole.desktop</Filename>
<Filename>nvim.desktop</Filename>
<Filename>com.nextcloud.desktopclient.nextcloud.desktop</Filename>
<Filename>org.kde.okular.desktop</Filename>
<Filename>org.kde.spectacle.desktop</Filename>
<Merge type="menus"/>
<Menuname>Terminal</Menuname>
<Filename>info.desktop</Filename>
<Filename>virt-manager.desktop</Filename>
<Menuname>XUtilities</Menuname>
<Separator/>
<Menuname>More</Menuname>
</Layout>
</Menu>
<Include/>
<Exclude>
<Filename>display-im6.q16.desktop</Filename>
<Filename>org.kde.khelpcenter.desktop</Filename>
<Filename>Godot.desktop</Filename>
</Exclude>
<Menu>
<Name>.hidden</Name>
<Include>
<Filename>org.kde.kate.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.draw.desktop</Filename>
<Filename>steam.desktop</Filename>
<Filename>org.kde.khelpcenter.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.math.desktop</Filename>
<Filename>nvidia-settings.desktop</Filename>
<Filename>org.kde.okular.desktop</Filename>
<Filename>com.brave.Browser.flextop.brave-cbhjompmobhclodnimfcmlgnahbbdhlb-Default.desktop</Filename>
<Filename>com.logseq.Logseq.desktop</Filename>
<Filename>org.fcitx.Fcitx5.desktop</Filename>
</Include>
</Menu>
<Menu>
<Name>Games</Name>
<Layout>
<Merge type="menus"/>
<Menuname>Arcade</Menuname>
<Menuname>Board</Menuname>
<Menuname>Card</Menuname>
<Menuname>Kidsgames</Menuname>
<Menuname>Logic</Menuname>
<Merge type="files"/>
<Filename>steam.desktop</Filename>
<Menuname>TacticStrategy</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Office</Name>
<Exclude>
<Filename>ch.protonmail.protonmail-bridge.desktop</Filename>
<Filename>org.kde.okular.desktop</Filename>
</Exclude>
<Layout>
<Merge type="files"/>
<Filename>org.libreoffice.LibreOffice.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.base.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.calc.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.draw.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.impress.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.math.desktop</Filename>
<Filename>org.libreoffice.LibreOffice.writer.desktop</Filename>
<Separator/>
<Merge type="menus"/>
<Menuname>More</Menuname>
</Layout>
</Menu>
<Menu>
<Name>Applications</Name>
<Layout/>
<Exclude>
<Filename>com.brave.Browser.flextop.brave-cbhjompmobhclodnimfcmlgnahbbdhlb-Default.desktop</Filename>
</Exclude>
</Menu>
<Move>
<Old>System/Terminal</Old>
<New>Utilities/Terminal</New>
</Move>
<Layout>
<Merge type="menus"/>
<Menuname>Education</Menuname>
<Menuname>Games</Menuname>
<Menuname>Graphics</Menuname>
<Menuname>Internet</Menuname>
<Menuname>Office</Menuname>
<Menuname>Science</Menuname>
<Menuname>Settingsmenu</Menuname>
<Menuname>System</Menuname>
<Menuname>Utilities</Menuname>
<Menuname>Applications</Menuname>
</Layout>
<Menu>
<Name>Help</Name>
<Deleted/>
</Menu>
</Menu>
@@ -1,263 +0,0 @@
[ActionPlugins][0]
RightButton;NoModifier=org.kde.contextmenu
[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu
[Containments][2]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][2][Applets][20]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][2][Applets][20][Configuration]
PreloadWeight=100
popupHeight=450
popupWidth=810
[Containments][2][Applets][20][Configuration][Appearance]
enabledCalendarPlugins=holidaysevents
fontWeight=400
[Containments][2][Applets][20][Configuration][ConfigDialog]
DialogHeight=540
DialogWidth=720
[Containments][2][Applets][3]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][2][Applets][3][Configuration]
PreloadWeight=100
popupHeight=510
popupWidth=647
[Containments][2][Applets][3][Configuration][ConfigDialog]
DialogHeight=540
DialogWidth=720
[Containments][2][Applets][3][Configuration][Configuration/General]
icon=start-here-kubuntu
showAppsByName=true
[Containments][2][Applets][3][Configuration][General]
alphaSort=true
favoritesPortedToKAstats=true
highlightNewlyInstalledApps=false
icon=start-here-kubuntu
switchCategoryOnHover=true
systemFavorites=suspend\\,hibernate\\,reboot\\,shutdown
[Containments][2][Applets][3][Configuration][Shortcuts]
global=Alt+F1
[Containments][2][Applets][4]
immutability=1
plugin=org.kde.plasma.pager
[Containments][2][Applets][5]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][2][Applets][5][Configuration][General]
launchers=preferred://filemanager,file:///var/lib/flatpak/exports/share/applications/com.brave.Browser.desktop,applications:org.kde.konsole.desktop,file:///var/lib/flatpak/exports/share/applications/im.riot.Riot.desktop,file:///var/lib/flatpak/exports/share/applications/me.proton.Mail.desktop,file:///usr/share/applications/steam.desktop
[Containments][2][Applets][6]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][2][Applets][7]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.plasma.systemtray
popupHeight=432
popupWidth=432
wallpaperplugin=org.kde.image
[Containments][2][Applets][7][Applets][10]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][2][Applets][7][Applets][10][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][11]
immutability=1
plugin=org.kde.plasma.keyboardindicator
[Containments][2][Applets][7][Applets][11][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][12]
immutability=1
plugin=org.kde.plasma.printmanager
[Containments][2][Applets][7][Applets][12][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][13]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][2][Applets][7][Applets][13][Configuration]
PreloadWeight=67
[Containments][2][Applets][7][Applets][14]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][2][Applets][7][Applets][14][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][15]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][2][Applets][7][Applets][15][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][16]
immutability=1
plugin=org.kde.plasma.cameraindicator
[Containments][2][Applets][7][Applets][16][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][17]
immutability=1
plugin=org.kde.plasma.vault
[Containments][2][Applets][7][Applets][18]
immutability=1
plugin=org.kde.kscreen
[Containments][2][Applets][7][Applets][18][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][19]
immutability=1
plugin=org.kde.plasma.volume
[Containments][2][Applets][7][Applets][19][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][Applets][19][Configuration][General]
migrated=true
[Containments][2][Applets][7][Applets][22][Configuration]
PreloadWeight=34
[Containments][2][Applets][7][Applets][23][Configuration]
PreloadWeight=34
[Containments][2][Applets][7][Applets][24]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][2][Applets][7][Applets][24][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][Applets][24][Configuration][General]
currentDetailsTab=details
[Containments][2][Applets][7][Applets][25]
immutability=1
plugin=org.kde.plasma.bluetooth
[Containments][2][Applets][7][Applets][25][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][Applets][26]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][2][Applets][7][Applets][26][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][Applets][27]
immutability=1
plugin=org.kde.plasma.mediacontroller
[Containments][2][Applets][7][Applets][27][Configuration]
PreloadWeight=0
[Containments][2][Applets][7][Applets][30][Configuration]
PreloadWeight=0
[Containments][2][Applets][7][Applets][31][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][33]
immutability=1
plugin=org.kde.plasma.battery
[Containments][2][Applets][7][Applets][33][Configuration]
PreloadWeight=18
[Containments][2][Applets][7][Applets][9]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][2][Applets][7][Applets][9][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][Applets][9][Configuration][General]
migrated=true
[Containments][2][Applets][7][ConfigDialog]
DialogHeight=540
DialogWidth=720
[Containments][2][Applets][7][Configuration]
PreloadWeight=100
[Containments][2][Applets][7][General]
extraItems=org.kde.plasma.volume,org.kde.plasma.mediacontroller,org.kde.plasma.cameraindicator,org.kde.plasma.bluetooth,org.kde.plasma.networkmanagement,org.kde.plasma.battery,org.kde.plasma.notifications
hiddenItems=Fcitx,Xwayland Video Bridge_pipewireToXProxy,org.kde.plasma.notifications
knownItems=org.kde.plasma.volume,org.kde.plasma.vault,org.kde.plasma.printmanager,org.kde.kscreen,org.kde.plasma.devicenotifier,org.kde.plasma.clipboard,org.kde.plasma.brightness,org.kde.plasma.keyboardindicator,org.kde.plasma.battery,org.kde.plasma.mediacontroller,org.kde.plasma.manage-inputmethod,org.kde.plasma.cameraindicator,org.kde.plasma.keyboardlayout,org.kde.plasma.notifications,org.kde.plasma.bluetooth,org.kde.plasma.networkmanagement,org.kde.kupapplet,org.kde.plasma.weather
shownItems=org.kde.plasma.volume,org.kde.plasma.networkmanagement,org.kde.plasma.battery
[Containments][2][General]
AppletOrder=3;4;5;6;7;20
[Containments][33]
ItemGeometries-2048x1280=
ItemGeometriesHorizontal=
activityId=8529a03a-ac64-45ee-b16a-2ffeb9bf9945
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][33][ConfigDialog]
DialogHeight=540
DialogWidth=720
[Containments][33][General]
positions={"2048x1280":[]}
[Containments][33][Wallpaper][org.kde.image][General]
Image=/home/kendall/Pictures/Wallpapers/nature_road.jpg
SlidePaths=/usr/share/wallpapers/
[Containments][9][Applets][23][Configuration]
PreloadWeight=34
[Containments][9][Applets][24][Configuration]
PreloadWeight=34
[ScreenMapping]
itemsOnDisabledScreens=
screenMapping=
+9 -10
View File
@@ -14,23 +14,22 @@ DIRECTORIES_TO_REMOVE = [
APPS = [
'element-desktop',
'flatpak',
'fisher',
'freecad',
'gimp',
'inkscape',
'libreoffice-fresh',
'librewolf-bin',
'neovim-git',
'localsend',
'neovim',
'okular',
'proton-mail-bin',
'proton-vpn-gtk-app',
'prusa-slicer',
'rtorrent',
'steam',
'stow',
'tmux',
'torbrowser-launcher',
'wl-clipboard',
]
DOTFILES = [
'alacritty',
'fish',
'nvim',
'rtorrent',
'tmux',
]
+42 -28
View File
@@ -4,51 +4,65 @@ from pathlib import Path
def sym_link_dir():
confirm_link = input("Do you want to link home directories to external storage? (Y/n): ")
confirm_link = input("Link home directories to external storage? (Y/n): ")
if confirm_link.lower() == "y" or confirm_link.lower() == '':
target_dir = input("Specify the full path to the external storage: ")
if confirm_link.lower() not in ("y", "yes", ""):
return
def home_dir_item(item):
return Path(f"{Path.home()}/{item}")
target_dir = Path(input("Specify the full path to the external storage: "))
for dir in config.DIRECTORIES:
HOME_DIR_PATH = home_dir_item(dir)
TARGET_SYMLINK_DIR = f"{target_dir}/{dir}"
HAS_HOME_DIR = HOME_DIR_PATH.is_dir()
IS_SYMLINK = HOME_DIR_PATH.is_symlink()
if not target_dir.is_dir():
return
if HAS_HOME_DIR:
HOME_DIR_PATH.rmdir()
for subdir in config.DIRECTORIES:
dir_item = Path.home() / subdir
if not IS_SYMLINK:
HOME_DIR_PATH.symlink_to(TARGET_SYMLINK_DIR)
if not dir_item.is_symlink():
if dir_item.is_dir():
dir_item.rmdir()
dir_item.symlink_to(target_dir / subdir)
for dir in config.DIRECTORIES_TO_REMOVE:
if home_dir_item(dir).is_dir():
home_dir_item(dir).rmdir()
for subdir in config.DIRECTORIES_TO_REMOVE:
dir_item = Path.home() / subdir
if dir_item.is_dir() and not dir_item.is_symlink():
dir_item.rmdir()
def install_apps():
for app in config.APPS:
subprocess.run(['sudo', 'pacman', '-S', f"{app}", '--noconfirm'])
subprocess.run(
['sudo', 'pacman', '-S', '--noconfirm', *config.APPS],
check=True
)
subprocess.run([
"fish", "-c", "fisher install jorgebucaran/nvm.fish"
], check=True)
subprocess.run(
["fish", "-c", "fisher install jorgebucaran/nvm.fish"],
check=True
)
subprocess.run([
"fish", "-c", "nvm install lts"
], check=True)
subprocess.run(
["fish", "-c", "nvm install lts"],
check=True
)
def stow_dot_files():
for dotfile in config.DOTFILES:
subprocess.run(['stow', f"../../{dotfile}", '--adopt'])
dotfiles_root = Path.home() / '.dotfiles'
config_dir = Path.home() / '.config'
subprocess.run(['git', 'checkout', '--', '.'])
subprocess.run(
['stow', '-d', str(dotfiles_root), '-t', str(config_dir), '--adopt', 'config'],
check=True
)
subprocess.run(
['git', 'checkout', '--', 'config'],
cwd=dotfiles_root,
check=True,
)
if __name__ == "__main__":
sym_link_dir()
install_apps()
stow_dot_files()
-17
View File
@@ -1,17 +0,0 @@
session_name: Amp
windows:
- window_name: Amp
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.AMP.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.AMP.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.AMP.git/
- cmd: clear
-17
View File
@@ -1,17 +0,0 @@
session_name: Amped
windows:
- window_name: Amped
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/amped-up.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/amped-up.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/amped-up.git/
- cmd: clear
-17
View File
@@ -1,17 +0,0 @@
session_name: HFS
windows:
- window_name: HFS
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/header-footer-service.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/header-footer-service.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/header-footer-service.git/
- cmd: clear
-17
View File
@@ -1,17 +0,0 @@
session_name: Omega
windows:
- window_name: Omega
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/omega-player.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/omega-player.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/omega-player.git/
- cmd: clear
-17
View File
@@ -1,17 +0,0 @@
session_name: Phoenix
windows:
- window_name: Phoenix
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.Phoenix.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.Phoenix.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/WEB.Phoenix.git/
- cmd: clear
-17
View File
@@ -1,17 +0,0 @@
session_name: Ramen
windows:
- window_name: Ramen
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/nextjs-ramen.git/
- cmd: clear
- window_name: Server
layout: even-horizontal
panes:
- shell_command:
- cmd: cd ~/Repos/NBC/nextjs-ramen.git/
- cmd: clear
- shell_command:
- cmd: cd ~/Repos/NBC/nextjs-ramen.git/
- cmd: clear