Compare commits
9 Commits
f1ba98d3d6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
13b1fd9ba9
|
|||
|
fed0835ad7
|
|||
| 7ebccf3057 | |||
| f579405d8c | |||
| 853c365b26 | |||
| a673755bca | |||
| 16861d8314 | |||
| 43e4fea1e0 | |||
| 66dfce7dc1 |
4
cachyos
Normal file
4
cachyos
Normal file
@ -0,0 +1,4 @@
|
||||
cachyos-keyring
|
||||
cachyos-mirrorlist
|
||||
cachyos-v3-mirrorlist
|
||||
cachyos-v4-mirrorlist
|
||||
@ -15,7 +15,8 @@
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
|
||||
# automatically choose highest refresh rate and postition of monitors
|
||||
monitor = ,highrr,auto,1
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
@ -26,7 +27,7 @@
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
$menu = tofi-drun --drun-launch=true -c /home/fergus/.config/tofi.conf
|
||||
|
||||
|
||||
#################
|
||||
@ -37,7 +38,10 @@ $menu = wofi --show drun
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = nm-applet &
|
||||
exec-once = waybar
|
||||
exec-once = uwsm app -- waybar
|
||||
exec-once = uwsm app -- hypridle
|
||||
exec-once = uwsm app -- swaync
|
||||
exec-once = uwsm app -- systemctl --user start hyprpolkitagent
|
||||
exec-once = $terminal
|
||||
|
||||
# clipboard
|
||||
@ -209,7 +213,7 @@ $mainMod = Alt # Sets "Alt" key as main modifier
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, M, exec, loginctl terminate-user ""
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, G, exec, firefox
|
||||
bind = $mainMod, D, exec, $menu
|
||||
@ -294,11 +298,11 @@ bind = $mainMod, N, exec, swaync-client -t
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
windowrule = float, class:^(com.saivert.pwvucontrol)$
|
||||
windowrule = float, class:^(org.prismlauncher.PrismLauncher)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
|
||||
@ -24,7 +24,7 @@ font_family JetBrains Mono NF
|
||||
#: italic_font Operator Mono Book Italic
|
||||
#: bold_italic_font Operator Mono Medium Italic
|
||||
|
||||
font_size 14.0
|
||||
font_size 16.0
|
||||
|
||||
#: Font size (in pts)
|
||||
|
||||
@ -239,7 +239,7 @@ cursor_blink_interval 0
|
||||
|
||||
#: Scrollback {{{
|
||||
|
||||
# scrollback_lines 2000
|
||||
scrollback_lines 200000
|
||||
|
||||
#: Number of lines of history to keep in memory for scrolling back.
|
||||
#: Memory is allocated on demand. Negative numbers are (effectively)
|
||||
@ -1584,13 +1584,13 @@ confirm_os_window_close 0
|
||||
#: The full list of actions that can be mapped to key presses is
|
||||
#: available here <https://sw.kovidgoyal.net/kitty/actions/>.
|
||||
|
||||
# kitty_mod ctrl+shift
|
||||
kitty_mod ctrl+shift
|
||||
|
||||
#: Special modifier key alias for default shortcuts. You can change
|
||||
#: the value of this option to alter all default shortcuts that use
|
||||
#: kitty_mod.
|
||||
|
||||
# clear_all_shortcuts no
|
||||
clear_all_shortcuts no
|
||||
|
||||
#: Remove all shortcut definitions up to this point. Useful, for
|
||||
#: instance, to remove the default shortcuts.
|
||||
@ -1627,7 +1627,7 @@ confirm_os_window_close 0
|
||||
|
||||
#: Copy to clipboard
|
||||
|
||||
# map kitty_mod+c copy_to_clipboard
|
||||
map ctrl+shift+c copy_to_clipboard
|
||||
# map cmd+c copy_to_clipboard
|
||||
|
||||
#:: There is also a copy_or_interrupt action that can be optionally
|
||||
@ -1638,7 +1638,7 @@ confirm_os_window_close 0
|
||||
|
||||
#: Paste from clipboard
|
||||
|
||||
# map kitty_mod+v paste_from_clipboard
|
||||
map ctrl+shift+v paste_from_clipboard
|
||||
# map cmd+v paste_from_clipboard
|
||||
|
||||
#: Paste from selection
|
||||
@ -1703,7 +1703,7 @@ confirm_os_window_close 0
|
||||
|
||||
#: Scroll to previous shell prompt
|
||||
|
||||
# map kitty_mod+z scroll_to_prompt -1
|
||||
map ctrl+space>z scroll_to_prompt -1
|
||||
|
||||
#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last
|
||||
#:: jumped to or the last clicked position. Requires shell
|
||||
@ -1712,7 +1712,7 @@ confirm_os_window_close 0
|
||||
|
||||
#: Scroll to next shell prompt
|
||||
|
||||
# map kitty_mod+x scroll_to_prompt 1
|
||||
map ctrl+space>x scroll_to_prompt 1
|
||||
|
||||
#: Browse scrollback buffer in pager
|
||||
|
||||
@ -1761,7 +1761,11 @@ confirm_os_window_close 0
|
||||
|
||||
#: New window
|
||||
|
||||
# map kitty_mod+enter new_window
|
||||
enabled_layouts splits:split_axis=horizontal
|
||||
|
||||
map ctrl+space>c launch --type=tab --cwd=current
|
||||
map ctrl+space>shift+5 launch --location=vsplit --cwd=current
|
||||
map ctrl+space>shift+2 launch --location=hsplit --cwd=current
|
||||
# map cmd+enter new_window
|
||||
|
||||
#:: You can open a new kitty window running an arbitrary program, for
|
||||
@ -1806,7 +1810,8 @@ confirm_os_window_close 0
|
||||
|
||||
#: Next window
|
||||
|
||||
# map kitty_mod+] next_window
|
||||
map ctrl+space>j next_window
|
||||
map ctrl+space>k previous_window
|
||||
|
||||
#: Previous window
|
||||
|
||||
@ -1942,7 +1947,15 @@ confirm_os_window_close 0
|
||||
#: the first tab, 2 the second tab and -1 being the previously active
|
||||
#: tab, and any number larger than the last tab being the last tab::
|
||||
|
||||
#: map ctrl+alt+1 goto_tab 1
|
||||
map ctrl+space>1 goto_tab 1
|
||||
map ctrl+space>2 goto_tab 2
|
||||
map ctrl+space>3 goto_tab 3
|
||||
map ctrl+space>4 goto_tab 4
|
||||
map ctrl+space>5 goto_tab 5
|
||||
map ctrl+space>6 goto_tab 6
|
||||
map ctrl+space>7 goto_tab 7
|
||||
map ctrl+space>8 goto_tab 8
|
||||
map ctrl+space>9 goto_tab 9
|
||||
#: map ctrl+alt+2 goto_tab 2
|
||||
|
||||
#: Just as with new_window above, you can also pass the name of
|
||||
@ -1974,7 +1987,7 @@ confirm_os_window_close 0
|
||||
#: Useful to temporarily "zoom" the active window by switching to the
|
||||
#: stack layout::
|
||||
|
||||
#: map ctrl+alt+z toggle_layout stack
|
||||
map ctrl+space>z toggle_layout stack
|
||||
#: }}}
|
||||
|
||||
#: Font sizes {{{
|
||||
@ -2022,7 +2035,7 @@ confirm_os_window_close 0
|
||||
|
||||
#: Open URL
|
||||
|
||||
# map kitty_mod+e open_url_with_hints
|
||||
map ctrl+space>e open_url_with_hints
|
||||
|
||||
#:: Open a currently visible URL using the keyboard. The program used
|
||||
#:: to open the URL is specified in open_url_with.
|
||||
|
||||
94
packages
Normal file
94
packages
Normal file
@ -0,0 +1,94 @@
|
||||
base
|
||||
base-devel
|
||||
bash
|
||||
bat
|
||||
btop
|
||||
coreutils
|
||||
curl
|
||||
discord
|
||||
docker
|
||||
docker-buildx
|
||||
docker-compose
|
||||
efibootmgr
|
||||
efitools
|
||||
elixir
|
||||
erlang
|
||||
exfat-utils
|
||||
eza
|
||||
fastfetch
|
||||
fd
|
||||
firefox
|
||||
fzf
|
||||
gdm
|
||||
git
|
||||
go
|
||||
golangci-lint
|
||||
gopls
|
||||
hip-runtime-amd
|
||||
hipblas
|
||||
hipblas-common
|
||||
hsa-rocr
|
||||
hyprcursor
|
||||
hypridle
|
||||
hyprland
|
||||
hyprlock
|
||||
hyprshot
|
||||
inotify-tools
|
||||
intel-ucode
|
||||
jq
|
||||
just
|
||||
kitty
|
||||
linux-firmware
|
||||
linux
|
||||
lld
|
||||
lua
|
||||
lua-language-server
|
||||
luajit
|
||||
neovim
|
||||
nodejs
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
noto-fonts-extra
|
||||
npm
|
||||
nvtop
|
||||
pipewire
|
||||
python
|
||||
rdma-core
|
||||
ripgrep
|
||||
rocblas
|
||||
rocm-core
|
||||
rocm-device-libs
|
||||
rocm-llvm
|
||||
rocminfo
|
||||
rocprim
|
||||
rocprofiler-register
|
||||
rocsolver
|
||||
rocsparse
|
||||
roctracer
|
||||
rtkit
|
||||
rustup
|
||||
sbctl
|
||||
starship
|
||||
stow
|
||||
stylua
|
||||
sudo
|
||||
swaync
|
||||
tmux
|
||||
ttf-jetbrains-mono-nerd
|
||||
ttf-liberation
|
||||
ttf-noto-nerd
|
||||
ufw
|
||||
unzip
|
||||
uwsm
|
||||
watchexec
|
||||
waybar
|
||||
wayland
|
||||
wget
|
||||
wireguard-tools
|
||||
wireplumber
|
||||
wl-clipboard
|
||||
xdg-desktop-portal
|
||||
xdg-user-dirs
|
||||
zsh
|
||||
zsh-autosuggestions
|
||||
zstd
|
||||
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$(tmux display-message -p -F "#{session-name}")" = "popup" ]; then
|
||||
if [ "$(tmux display-message -p -F "#{session_name}")" = "popup" ]; then
|
||||
tmux detach-client
|
||||
else
|
||||
tmux popup -d "#{pane_current_path}" -xC -yC -w90% -h90% -E "tmux attach -t popup || tmux new -s popup"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
set-option -g default-shell /usr/bin/zsh
|
||||
set-option -g default-command "${SHELL}"
|
||||
set-option -g default-shell "${SHELL}"
|
||||
|
||||
set -g mouse on
|
||||
|
||||
@ -28,4 +29,4 @@ bind c new-window -c "#{pane_current_path}"
|
||||
bind \" split-pane -c "#{pane_current_path}"
|
||||
bind % split-pane -h -c "#{pane_current_path}"
|
||||
|
||||
bind p run-shell tmuxpopup
|
||||
bind p run-shell /home/fergus/.local/bin/tmuxpopup
|
||||
|
||||
33
vpn/PKGBUILD
Normal file
33
vpn/PKGBUILD
Normal file
@ -0,0 +1,33 @@
|
||||
# Maintainer: Your Name <fergus@molloy.xyz>
|
||||
pkgname=vpn
|
||||
pkgver=1.0.0
|
||||
pkgrel=1
|
||||
epoch=
|
||||
pkgdesc="Bash script to manage wireguard vpn connections"
|
||||
arch=(any)
|
||||
url=""
|
||||
license=('Unlicense')
|
||||
groups=()
|
||||
depends=(wireguard-tools)
|
||||
makedepends=()
|
||||
checkdepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
changelog=
|
||||
source=("vpn")
|
||||
noextract=("vpn")
|
||||
sha256sums=(
|
||||
4049e2b082f88a06ef0890498f556018d07939d5f2fb54a9d409fbeb8023be47
|
||||
)
|
||||
validpgpkeys=()
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
install -D -m 755 vpn "${pkgdir}/usr/bin/vpn"
|
||||
}
|
||||
|
||||
119
vpn/vpn
Executable file
119
vpn/vpn
Executable file
@ -0,0 +1,119 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# check user is root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Initialize variables
|
||||
ACTION=""
|
||||
VPN_NAME=""
|
||||
DEFAULT_VPN="p-sweden"
|
||||
|
||||
# Function to display usage
|
||||
usage() {
|
||||
echo "Usage: $0 [COMMAND] [VPN_NAME]"
|
||||
echo "Commands:"
|
||||
echo " (no args) Get VPN status"
|
||||
echo " list List available VPN connections"
|
||||
echo " down Disconnect from VPN"
|
||||
echo " up Connect to default VPN"
|
||||
echo " up <name> Connect to specific VPN"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Parse command line arguments
|
||||
case $# in
|
||||
0)
|
||||
# No arguments - get status
|
||||
ACTION="status"
|
||||
;;
|
||||
1)
|
||||
case $1 in
|
||||
"list")
|
||||
ACTION="list"
|
||||
;;
|
||||
"down")
|
||||
ACTION="down"
|
||||
;;
|
||||
"up")
|
||||
ACTION="up"
|
||||
VPN_NAME="$DEFAULT_VPN"
|
||||
;;
|
||||
"help"|"-h"|"--help")
|
||||
usage
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown command '$1'"
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
2)
|
||||
case $1 in
|
||||
"up")
|
||||
ACTION="up"
|
||||
VPN_NAME="$2"
|
||||
;;
|
||||
*)
|
||||
echo "Error: Command '$1' does not accept additional arguments"
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Error: Too many arguments"
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
||||
down() {
|
||||
CURRENT_CONNECTION="$(wg | grep interface | sed 's/.*: //')"
|
||||
|
||||
if [ ! -z $CURRENT_CONNECTION ]; then
|
||||
wg-quick down $CURRENT_CONNECTION
|
||||
printf "\n\x1b[1;31mDisconnected from $CURRENT_CONNECTION\x1b[0m\n"
|
||||
else
|
||||
echo "Not connected"
|
||||
fi
|
||||
}
|
||||
|
||||
up() {
|
||||
down
|
||||
|
||||
FOUND_CONFIGS=$(fd -tf "$VPN_NAME" -e "conf" --format '{/.}' /etc/wireguard)
|
||||
POSSIBLE_CONFIG_COUNTS=$(echo $FOUND_CONFIGS | wc -l)
|
||||
|
||||
if [ $POSSIBLE_CONFIG_COUNTS -eq 0 ]; then
|
||||
echo "No configuration found for $VPN_NAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $POSSIBLE_CONFIG_COUNTS -gt 1 ]; then
|
||||
echo "Mulitple configurations found for $VPN_NAME:"
|
||||
echo $FOUND_CONFIGS
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "\n\x1b[1;32mConnecting to $FOUND_CONFIGS\x1b[0m\n\n"
|
||||
wg-quick up $FOUND_CONFIGS
|
||||
}
|
||||
|
||||
|
||||
# Example of how to use the variables
|
||||
case $ACTION in
|
||||
"status")
|
||||
wg
|
||||
;;
|
||||
"list")
|
||||
echo "Possible connections:"
|
||||
fd . -tf -e "conf" --format '{/.}' /etc/wireguard
|
||||
;;
|
||||
"down")
|
||||
down
|
||||
;;
|
||||
"up")
|
||||
up
|
||||
;;
|
||||
esac
|
||||
@ -12,7 +12,7 @@
|
||||
"modules-right": [
|
||||
"pulseaudio",
|
||||
"network",
|
||||
"custom",
|
||||
"custom",
|
||||
"memory",
|
||||
"cpu",
|
||||
"temperature",
|
||||
@ -20,9 +20,9 @@
|
||||
"clock",
|
||||
"tray",
|
||||
],
|
||||
"custom": {
|
||||
"exec": ""
|
||||
},
|
||||
// "custom": {
|
||||
// "exec": ""
|
||||
// },
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 35,
|
||||
@ -54,12 +54,13 @@
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
"thermal-zone": 3,
|
||||
"critical-threshold": 80,
|
||||
"format": "{temperatureC}°C",
|
||||
"format-icons": ["", "", ""]
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
@ -75,9 +76,9 @@
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": " {signalStrength}%",
|
||||
"format-ethernet": "{cidr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-ethernet": "{cidr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": " ⚠ ",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
@ -93,9 +94,9 @@
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
"default": ["", " ", " "]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
"on-click": "pwvucontrol"
|
||||
},
|
||||
"tray": {
|
||||
"spacing": 10,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
@import "macchiato.css";
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", Roboto, Helvetica, Arial, sans-serif;
|
||||
font-family: "JetBrainsMonoNerdFont";
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
||||
23
zsh/.zshrc
23
zsh/.zshrc
@ -55,10 +55,10 @@ command -v starship >/dev/null 2>&1 && eval "$(starship init zsh)"
|
||||
command -v fastfetch >/dev/null 2>&1 && fastfetch
|
||||
|
||||
# automatically enter a tmux session
|
||||
tmux start-server
|
||||
if [ -z "$TMUX" ]; then
|
||||
tmux has-session -t dev 2> /dev/null && tmux new-session || tmux new-session -s dev
|
||||
fi
|
||||
# tmux start-server
|
||||
# if [ -z "$TMUX" ]; then
|
||||
# tmux has-session -t dev 2> /dev/null && tmux new-session || tmux new-session -s dev
|
||||
# fi
|
||||
|
||||
# load kitty shell integrations
|
||||
if test -n "$KITTY_INSTALLATION_DIR"; then
|
||||
@ -86,12 +86,14 @@ total %*E
|
||||
|
||||
# add common bin dirs to path
|
||||
export PATH="/home/fergus/.local/bin:$PATH"
|
||||
export PATH="/home/fergus/.local/bin:/home/fergus/.cargo/bin:$PATH"
|
||||
export PATH="/home/fergus/.cargo/bin:$PATH"
|
||||
export PATH="/home/fergus/go/bin/:$PATH"
|
||||
|
||||
# import any extra env that doesn't want to be kept in vsc
|
||||
[[ -f ~/.extra-env ]] && source ~/.extra-env
|
||||
[[ -f ~/.extra-env.zsh ]] && source ~/.extra-env.zsh
|
||||
|
||||
# add common options
|
||||
alias -- less='less -R'
|
||||
alias -- cp='cp -r'
|
||||
alias -- mkdir='mkdir -p'
|
||||
alias -- rm='rm -vr'
|
||||
@ -114,6 +116,7 @@ alias -- gC='git commit -m'
|
||||
alias -- gD='git diff --staged -w'
|
||||
alias -- gP='git push'
|
||||
alias -- gPf='git push --force-with-lease'
|
||||
alias -- gPt='git push --follow-tags'
|
||||
alias -- gS='git switch -c'
|
||||
alias -- gaa='git add --all'
|
||||
alias -- gau='git add -u'
|
||||
@ -144,3 +147,11 @@ fi
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS+=()
|
||||
|
||||
|
||||
|
||||
# pnpm
|
||||
export PNPM_HOME="/home/fergus/.local/share/pnpm"
|
||||
case ":$PATH:" in
|
||||
*":$PNPM_HOME:"*) ;;
|
||||
*) export PATH="$PNPM_HOME:$PATH" ;;
|
||||
esac
|
||||
# pnpm end
|
||||
|
||||
Reference in New Issue
Block a user