add neovim
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,2 +1,6 @@
|
|||||||
|
# Ignore Wireguard config of course!
|
||||||
/config/wg/**
|
/config/wg/**
|
||||||
|
# Ignore bash environment variables.
|
||||||
/config/bash/env
|
/config/bash/env
|
||||||
|
# Ignore backups of old config files
|
||||||
|
/config/old/**
|
||||||
|
|||||||
74
bin/get-port
Executable file
74
bin/get-port
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import questionary
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def get_interfaces():
|
||||||
|
try:
|
||||||
|
# Run tcpdump -D command
|
||||||
|
result = subprocess.run(['sudo', 'tcpdump', '-D'],
|
||||||
|
capture_output=True,
|
||||||
|
text=True)
|
||||||
|
|
||||||
|
# Split output into lines and create a list of interfaces
|
||||||
|
interfaces = []
|
||||||
|
for line in result.stdout.split('\n'):
|
||||||
|
if line.strip():
|
||||||
|
# Extract interface name and description
|
||||||
|
match = re.match(r'\d+\.(.+)', line)
|
||||||
|
if match:
|
||||||
|
interfaces.append(line)
|
||||||
|
|
||||||
|
return interfaces
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error getting interfaces: {e}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def get_port_info(interface_number):
|
||||||
|
try:
|
||||||
|
# Extract just the number from the interface selection
|
||||||
|
number = interface_number.split('.')[0]
|
||||||
|
|
||||||
|
# Run tcpdump command for port info
|
||||||
|
cmd = [
|
||||||
|
'sudo', 'tcpdump', '-nnv',
|
||||||
|
'-i', number,
|
||||||
|
'-s', '1500',
|
||||||
|
'-c', '1',
|
||||||
|
'ether[12:2]==0x88cc'
|
||||||
|
]
|
||||||
|
|
||||||
|
print("\nListening for LLDP packets (this might take a few seconds)...")
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||||
|
|
||||||
|
return result.stdout or result.stderr
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error getting port info: {e}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Get list of interfaces
|
||||||
|
interfaces = get_interfaces()
|
||||||
|
|
||||||
|
if not interfaces:
|
||||||
|
print("No interfaces found!")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Let user select an interface
|
||||||
|
selected = questionary.select(
|
||||||
|
"Select an interface to check port information:",
|
||||||
|
choices=interfaces
|
||||||
|
).ask()
|
||||||
|
|
||||||
|
if selected:
|
||||||
|
# Get and display port information
|
||||||
|
port_info = get_port_info(selected)
|
||||||
|
print("\nPort Information:")
|
||||||
|
print(port_info)
|
||||||
|
else:
|
||||||
|
print("No interface selected.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
191
bin/gnf
Executable file
191
bin/gnf
Executable file
@@ -0,0 +1,191 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# gnf – Friendly wrapper around 'sudo dnf'
|
||||||
|
# Version 1.2
|
||||||
|
# Author: You
|
||||||
|
#
|
||||||
|
# Features:
|
||||||
|
# • Implicit '-y' on install/remove/reinstall/downgrade (toggle with -n/--no-confirm)
|
||||||
|
# • 'gnf update' pipeline:
|
||||||
|
# - dnf update [-y] [--refresh]
|
||||||
|
# - flatpak update (user + system)
|
||||||
|
# - optional fwupd refresh+update
|
||||||
|
# with its own flags: -r/--refresh, -f/--firmware, -n/--no-confirm, -y/--yes
|
||||||
|
# • Passes any other 'dnf' subcommand straight to sudo dnf
|
||||||
|
# • 'copr' sub-commands get auto '-y' for addrepo/removerepo/enable/disable/list
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
PROGRAM=$(basename "$0")
|
||||||
|
VERSION="1.2"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
$PROGRAM – wrapper for sudo dnf with smart defaults
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
$PROGRAM [GLOBAL OPTIONS] COMMAND [COMMAND OPTIONS] [ARGS...]
|
||||||
|
|
||||||
|
GLOBAL OPTIONS (must precede COMMAND):
|
||||||
|
-h, --help Show this help and exit
|
||||||
|
--version Show version and exit
|
||||||
|
-n, --no-confirm Disable the automatic '-y' on supported commands
|
||||||
|
-y, --yes (Re-)enable the automatic '-y' (default)
|
||||||
|
|
||||||
|
COMMANDS:
|
||||||
|
install, remove, reinstall, downgrade
|
||||||
|
→ Implicit '-y' unless disabled by global '-n'
|
||||||
|
|
||||||
|
update (alias: upgrade)
|
||||||
|
→ dnf update + flatpak update + optional fwupd
|
||||||
|
→ COMMAND OPTIONS:
|
||||||
|
-r, --refresh Pass --refresh to dnf update
|
||||||
|
-f, --firmware After dnf+flatpak, run fwupdmgr refresh && update
|
||||||
|
-n, --no-confirm Do NOT add '-y' to dnf update
|
||||||
|
-y, --yes Force '-y' on dnf update (default)
|
||||||
|
→ You may group short flags: e.g. -rf or -fr
|
||||||
|
|
||||||
|
copr (subcommands: addrepo, removerepo, enable, disable, list, …)
|
||||||
|
→ For addrepo/removerepo/enable/disable/list, we auto '-y'
|
||||||
|
→ Other copr actions are passed straight through
|
||||||
|
|
||||||
|
any other dnf COMMAND is forwarded to 'sudo dnf'
|
||||||
|
|
||||||
|
EXAMPLES:
|
||||||
|
gnf install vim git
|
||||||
|
gnf -n install firefox # interactive remove/install
|
||||||
|
gnf update # dnf update -y ; flatpak
|
||||||
|
gnf update -r # + --refresh
|
||||||
|
gnf update -rf # + firmware
|
||||||
|
gnf -n update --refresh # no -y, + refresh
|
||||||
|
gnf copr addrepo user/project
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# If no args, show help
|
||||||
|
if [[ $# -eq 0 ]]; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# 1) Parse GLOBAL OPTIONS
|
||||||
|
#
|
||||||
|
auto_yes=true
|
||||||
|
while [[ $# -gt 0 && "$1" == -* ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-h|--help) usage; exit 0 ;;
|
||||||
|
--version) echo "$PROGRAM $VERSION"; exit 0 ;;
|
||||||
|
-n|--no-confirm) auto_yes=false; shift ;;
|
||||||
|
-y|--yes) auto_yes=true; shift ;;
|
||||||
|
--) shift; break ;; # end of globals
|
||||||
|
*) break ;; # first non-global dash-opt
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Must have at least one positional argument now: the COMMAND
|
||||||
|
if [[ $# -lt 1 ]]; then
|
||||||
|
echo "Error: no COMMAND specified." >&2
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmd=$1; shift
|
||||||
|
# Treat 'upgrade' as alias for 'update'
|
||||||
|
[[ "$cmd" == "upgrade" ]] && cmd=update
|
||||||
|
|
||||||
|
#
|
||||||
|
# 2) Dispatch on COMMAND
|
||||||
|
#
|
||||||
|
case "$cmd" in
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# install/remove/reinstall/downgrade (auto '-y' unless -n)
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
install|remove|reinstall|downgrade)
|
||||||
|
dnf_args=()
|
||||||
|
$auto_yes && dnf_args+=(-y)
|
||||||
|
sudo dnf "$cmd" "${dnf_args[@]}" "$@"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# update pipeline
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
update)
|
||||||
|
# 2.1) Map any long opts to short ones for getopts
|
||||||
|
mapped=()
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
--refresh) mapped+=(-r) ;;
|
||||||
|
--firmware) mapped+=(-f) ;;
|
||||||
|
--no-confirm) mapped+=(-n) ;;
|
||||||
|
--yes) mapped+=(-y) ;;
|
||||||
|
--) mapped+=(--);;
|
||||||
|
*) mapped+=("$arg");;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# 2.2) Parse update-specific flags with getopts (supports grouping: -rf)
|
||||||
|
refresh=false
|
||||||
|
firmware=false
|
||||||
|
confirm=$auto_yes
|
||||||
|
OPTIND=1
|
||||||
|
# note: the leading colon suppresses getopts’ own error msg
|
||||||
|
while getopts ":rfny" opt "${mapped[@]}"; do
|
||||||
|
case "$opt" in
|
||||||
|
r) refresh=true ;;
|
||||||
|
f) firmware=true ;;
|
||||||
|
n) confirm=false ;;
|
||||||
|
y) confirm=true ;;
|
||||||
|
\?) echo "Unknown option '-$OPTARG' for update" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
|
||||||
|
# 2.3) Run the dnf update
|
||||||
|
dnf_args=()
|
||||||
|
$confirm && dnf_args+=(-y)
|
||||||
|
$refresh && dnf_args+=(--refresh)
|
||||||
|
sudo dnf update "${dnf_args[@]}" "$@"
|
||||||
|
|
||||||
|
# 2.4) Run flatpak updates (user then system)
|
||||||
|
flatpak update -y
|
||||||
|
sudo flatpak update
|
||||||
|
|
||||||
|
# 2.5) Optional firmware via fwupd
|
||||||
|
if $firmware; then
|
||||||
|
sudo fwupdmgr refresh
|
||||||
|
sudo fwupdmgr update
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# copr sub-commands
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
copr)
|
||||||
|
if [[ $# -lt 1 ]]; then
|
||||||
|
echo "Error: 'gnf copr' requires a subcommand." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sub=$1; shift
|
||||||
|
case "$sub" in
|
||||||
|
addrepo|removerepo|enable|disable|list)
|
||||||
|
sudo dnf copr "$sub" -y "$@" ;;
|
||||||
|
*)
|
||||||
|
sudo dnf copr "$sub" "$@" ;;
|
||||||
|
esac
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# anything else → pass straight to sudo dnf
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
*)
|
||||||
|
sudo dnf "$cmd" "$@"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# .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
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
|
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
|
||||||
"avante.nvim": { "branch": "main", "commit": "7f48770e66684e9a7d4d5b9c47505a23e0167a6e" },
|
"avante.nvim": { "branch": "main", "commit": "f8a7cd1a606460ec0a2c4ec886bc102daccf912e" },
|
||||||
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
||||||
"cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" },
|
"cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
"cmp-tw2css": { "branch": "main", "commit": "1abe0eebcb57fcbd5538d054f0db61f4e4a1302b" },
|
"cmp-tw2css": { "branch": "main", "commit": "1abe0eebcb57fcbd5538d054f0db61f4e4a1302b" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "26c02e1155a4980900bdccabca4516f4c712aae9" },
|
"conform.nvim": { "branch": "master", "commit": "cde4da5c1083d3527776fee69536107d98dae6c9" },
|
||||||
"copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" },
|
"copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" },
|
||||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "e32b672d8fd343f9d6a76944fedb8c61d7d8111a" },
|
"fidget.nvim": { "branch": "main", "commit": "e32b672d8fd343f9d6a76944fedb8c61d7d8111a" },
|
||||||
@@ -27,32 +27,32 @@
|
|||||||
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
||||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||||
"img-clip.nvim": { "branch": "main", "commit": "e7e29f0d07110405adecd576b602306a7edd507a" },
|
"img-clip.nvim": { "branch": "main", "commit": "e7e29f0d07110405adecd576b602306a7edd507a" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "e6a8824858757ca9cd4f5ae1a72d845fa5c46a39" },
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
|
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "d7b5feb6e769e995f7fcf44d92f49f811c51d10c" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "b1d9a914b02ba5660f1e272a03314b31d4576fe2" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||||
"mcphub.nvim": { "branch": "main", "commit": "8ff40b5edc649959bb7e89d25ae18e055554859a" },
|
"mcphub.nvim": { "branch": "main", "commit": "8ff40b5edc649959bb7e89d25ae18e055554859a" },
|
||||||
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
|
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "8cdd6b1940f333c1dd085526a9c45b30fb2dbf50" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||||
"nerdcommenter": { "branch": "master", "commit": "02a3b6455fa07b61b9440a78732f1e9b7876c991" },
|
"nerdcommenter": { "branch": "master", "commit": "02a3b6455fa07b61b9440a78732f1e9b7876c991" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
|
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
|
||||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
|
"nvim-lspconfig": { "branch": "master", "commit": "c8503e63c6afab3ed34b49865a4a4edbb1ebf4a8" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" },
|
"nvim-treesitter-context": { "branch": "master", "commit": "660861b1849256398f70450afdf93908d28dc945" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||||
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
|
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
|
||||||
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "a1b2bf029c37397947082f31969b4aec0d1b92bd" },
|
"render-markdown.nvim": { "branch": "main", "commit": "f58c05f349d6e7650f4b40b0df1514400f0c10de" },
|
||||||
"snacks.nvim": { "branch": "main", "commit": "41712e3026a6d690e3c65f83b335cb34e054d2cd" },
|
"snacks.nvim": { "branch": "main", "commit": "dec29f55666f8f4545835636077a86b150faf630" },
|
||||||
"supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" },
|
"supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "b13cfc1286d2aa8bda6ce137b79e857d5a3d5739" },
|
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" }
|
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" }
|
||||||
}
|
}
|
||||||
|
|||||||
4
install
4
install
@@ -6,8 +6,4 @@ source ~/.local/share/Panama/bin/ascii
|
|||||||
read -p "What should the hostname be? " HOST_NAME
|
read -p "What should the hostname be? " HOST_NAME
|
||||||
sudo hostnamectl set-hostname $HOST_NAME
|
sudo hostnamectl set-hostname $HOST_NAME
|
||||||
|
|
||||||
# Ensure computer doesn't go to sleep while installing
|
|
||||||
gsettings set org.gnome.desktop.screensaver lock-enabled false
|
|
||||||
gsettings set org.gnome.desktop.session idle-delay 0
|
|
||||||
|
|
||||||
for script in ~/.local/share/Panama/setup/scripts/*; do source $script; done
|
for script in ~/.local/share/Panama/setup/scripts/*; do source $script; done
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
bison
|
bison
|
||||||
clang-analyzer
|
clang-analyzer
|
||||||
clangd
|
clangd
|
||||||
cliphist
|
|
||||||
cmake
|
cmake
|
||||||
compat-lua
|
compat-lua
|
||||||
composer
|
composer
|
||||||
|
|||||||
@@ -4,15 +4,18 @@
|
|||||||
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
||||||
exists() { command -v "$1" >/dev/null 2>&1; }
|
exists() { command -v "$1" >/dev/null 2>&1; }
|
||||||
|
|
||||||
echo -e "\n--- Installing initial packages ---\n"
|
# --- Defined Paths ---
|
||||||
|
PANAMA_PATH="$HOME/.local/share/Panama"
|
||||||
|
|
||||||
|
echo -e "\n--- Installing relevant packages ---\n"
|
||||||
|
|
||||||
# --- Install all initial packages ---
|
# --- Install all initial packages ---
|
||||||
PACKAGES_FILE="$HOME/.local/share/Panama/setup/packages/initial-packages"
|
PACKAGES_FILE="$PANAMA_PATH/setup/packages/initial-packages"
|
||||||
if [[ -f "$PACKAGES_FILE" ]]; then
|
if [[ -f "$PACKAGES_FILE" ]]; then
|
||||||
INITIAL_PACKAGES=$(tr "\n" " " <"$PACKAGES_FILE")
|
INITIAL_PACKAGES=$(tr "\n" " " <"$PACKAGES_FILE")
|
||||||
log "Installing $INITIAL_PACKAGES"
|
log "Installing $INITIAL_PACKAGES"
|
||||||
sudo dnf install -y "$INITIAL_PACKAGES" > /dev/null 2>&1
|
sudo dnf install -y "$INITIAL_PACKAGES" > /dev/null 2>&1
|
||||||
log "Packages installed!"
|
log "Initial packages installed!"
|
||||||
else
|
else
|
||||||
log "Package list was not in specified path: $PACKAGES_FILE"
|
log "Package list was not in specified path: $PACKAGES_FILE"
|
||||||
fi
|
fi
|
||||||
@@ -40,3 +43,23 @@ else
|
|||||||
log "Installing oh-my-posh via curl..."
|
log "Installing oh-my-posh via curl..."
|
||||||
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d "$LOCAL_BIN_PATH" > /dev/null 2>&1
|
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d "$LOCAL_BIN_PATH" > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- Install Development Packages needed for Neovim ---
|
||||||
|
DEV_FILE="$PANAMA_PATH/setup/packages/development-packages"
|
||||||
|
if [[ -f "$DEV_FILE" ]]; then
|
||||||
|
DEV_PACKAGES=$(tr "\n" " " <"$DEV_FILE")
|
||||||
|
log "Installing $DEV_PACKAGES"
|
||||||
|
#sudo dnf install -y $DEV_PACKAGES > /dev/null 2>&1
|
||||||
|
sudo dnf install -y $DEV_PACKAGES
|
||||||
|
log "Development packages installed!"
|
||||||
|
else
|
||||||
|
log "Package list was not in specified path: $DEV_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Install Bun ---
|
||||||
|
if [[ -x "$HOME/.bun/bin/bun" ]]; then
|
||||||
|
log "Bun already installed at \"$HOME/.bun/bin/bun\""
|
||||||
|
else
|
||||||
|
log "Installing Bun via curl..."
|
||||||
|
curl -fsSL https://bun.sh/install | bash > /dev/null 2>&1
|
||||||
|
fi
|
||||||
@@ -3,15 +3,33 @@
|
|||||||
# Define paths as they have not been defined by new bashrc yet!
|
# Define paths as they have not been defined by new bashrc yet!
|
||||||
PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}"
|
PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}"
|
||||||
PANAMA_BASH="${PANAMA_BASH:-$PANAMA_PATH/config/bash}"
|
PANAMA_BASH="${PANAMA_BASH:-$PANAMA_PATH/config/bash}"
|
||||||
|
PANAMA_DOT="$PANAMA_PATH/config/dot"
|
||||||
|
PANAMA_OLD="$PANAMA_PATH/config/old"
|
||||||
|
CONFIG="$HOME/.config"
|
||||||
|
|
||||||
|
# Make backup folder if it doesn't exist
|
||||||
|
mkdir -p "$PANAMA_OLD"
|
||||||
|
|
||||||
|
# --- Bashrc ---
|
||||||
# Backup existing .bashrc if it's a regular file
|
# Backup existing .bashrc if it's a regular file
|
||||||
if [ -f "$HOME/.bashrc" ] && [ ! -L "$HOME/.bashrc" ]; then
|
if [ -f "$HOME/.bashrc" ] && [ ! -L "$HOME/.bashrc" ]; then
|
||||||
mv "$HOME/.bashrc" "$PANAMA_BASH/.bashrc.bak"
|
mv "$HOME/.bashrc" "$PANAMA_OLD/.bashrc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove old symlink if it exists and points somewhere else
|
# Remove old symlink if it exists and points somewhere else
|
||||||
if [ -L "$HOME/.bashrc" ]; then
|
if [ -L "$HOME/.bashrc" ]; then
|
||||||
rm "$HOME/.bashrc"
|
rm "$HOME/.bashrc"
|
||||||
fi
|
fi
|
||||||
|
# Symlink Panama .bashrc file to ~/.bashrc
|
||||||
ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc"
|
ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc"
|
||||||
|
|
||||||
|
# --- Neovim ---
|
||||||
|
# Backup existing Neovim config if it's a regular directory
|
||||||
|
if [ -d "$CONFIG/nvim" ] && [ ! -L "$CONFIG/nvim"]; then
|
||||||
|
mv "$CONFIG/nvim" "$PANAMA_OLD/nvim"
|
||||||
|
fi
|
||||||
|
# Remove old symlink if it exists & points to somewhere else
|
||||||
|
if [ -L "$CONFIG/nvim" ]; then
|
||||||
|
rm "$CONFIG/nvim"
|
||||||
|
fi
|
||||||
|
# Symlink Panama nvim directory to ~/.config/nvim
|
||||||
|
ln -s "$PANAMA_DOT/nvim" "$CONFIG/nvim"
|
||||||
|
|||||||
Reference in New Issue
Block a user