1245 lines
34 KiB
Bash
Executable File
1245 lines
34 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# == MY ARCH SETUP INSTALLER == #
|
|
#part1
|
|
|
|
# Restoring Terminal Defaults
|
|
printf '\033c'
|
|
|
|
echo "Welcome to Arch Linux installer script!"
|
|
|
|
# Increasing pacman's download streams to 5
|
|
sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 5/" /etc/pacman.conf
|
|
|
|
# Printing out conneted drives and asking which drive to partition and how, then mounting them.
|
|
lsblk
|
|
echo "Enter the drive you want to install the OS on: "
|
|
read drive
|
|
cfdisk $drive
|
|
echo "Enter the partition for your root: "
|
|
read rootpartition
|
|
mkfs.ext4 $rootpartition
|
|
|
|
|
|
|
|
read -p "Did you also create efi partition? [y/n]" answer
|
|
if [[ $answer = y ]] ; then
|
|
echo "Enter EFI partition: "
|
|
read efipartition
|
|
mkfs.fat -F32 $efipartition
|
|
fi
|
|
mount $rootpartition /mnt
|
|
mkdir /mnt/home
|
|
|
|
|
|
# Generating fstab file so the system can find our filesystem on reboot
|
|
mkdir /mnt/etc
|
|
genfstab -U -p /mnt >> /mnt/etc/fstab
|
|
|
|
# Downloading the core system utilities
|
|
pacstrap -i /mnt base
|
|
|
|
# Generating the second part of the script from the current one and then chrooting into our live installion and executing the new script.
|
|
sed '1,/^#part2$/d' `basename $0` > /mnt/arch_install2.sh
|
|
chmod +x /mnt/arch_install2.sh
|
|
arch-chroot /mnt ./arch_install2.sh
|
|
exit
|
|
|
|
#part2
|
|
|
|
# Restoring Terminal Defaults
|
|
printf '\033c'
|
|
|
|
# Downloading the kernel base developement and network packages and starting thier services
|
|
pacman -S --noconfirm sed linux linux-headers linux-firmware base-devel networkmanager wpa_supplicant wireless_tools netctl dialog
|
|
systemctl enable NetworkManager
|
|
|
|
# Increasing pacman's download streams to 5
|
|
sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf
|
|
|
|
# Enabling multilib support
|
|
echo "[multilib]" >> /etc/pacman.conf
|
|
echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
|
|
|
|
# Setting up locales keymap and language settings
|
|
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
|
|
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
|
locale-gen
|
|
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
|
echo "KEYMAP=us" > /etc/vconsole.conf
|
|
|
|
# Setting up system name hosts bootloader and the users
|
|
echo "Hostname: "
|
|
read hostname
|
|
echo $hostname > /etc/hostname
|
|
echo "127.0.0.1 localhost" >> /etc/hosts
|
|
echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts
|
|
mkinitcpio -P
|
|
passwd
|
|
pacman --noconfirm -Sy grub efibootmgr os-prober dosfstools mtools
|
|
echo "Enter EFI partition: "
|
|
read efipartition
|
|
mkdir /boot/EFI
|
|
mount $efipartition /boot/EFI
|
|
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
|
|
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
|
|
grub-mkconfig -o /boot/grub/grub.cfg
|
|
|
|
echo "Enter Swap Size: "
|
|
read swapsize
|
|
mkswap -U clear --size $swapsize --file /swapfile
|
|
swapon /swapfile
|
|
echo "/swapfile none swap defaults 0 0" >> /etc/fstab
|
|
|
|
echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
echo "Enter Username: "
|
|
read username
|
|
useradd -m -g users -G wheel $username
|
|
passwd $username
|
|
|
|
ai3_path=/home/$username/arch_install3.sh
|
|
sed '1,/^#part3$/d' arch_install2.sh > $ai3_path
|
|
chown $username:users $ai3_path
|
|
chmod +x $ai3_path
|
|
|
|
# Installing various CPU and GPU drivers
|
|
read -p "Are you in a virtual machince? [y/n]" answer
|
|
if [[ $answer = y ]] ; then
|
|
pacman -Sy virtualbox-guest-utils xf86-video-vmware
|
|
exit
|
|
fi
|
|
|
|
read -p "Do you have AMD cpu or Intel CPU? [amd/intel]" answer
|
|
if [[ $answer = amd ]] ; then
|
|
pacman --noconfirm -Sy amd-ucode
|
|
else
|
|
pacman --noconfirm -Sy intel-ucode
|
|
fi
|
|
|
|
read -p "Do you have AMD gpu or Nvidia gpu? [amd/nvidia/intel]" answer
|
|
if [[ $answer = nvidia ]] ; then
|
|
pacman --noconfirm -Sy nvidia lib32-nvidia-utils nvidia-utils
|
|
elif [[ $answer = amd ]] ; then
|
|
pacman --noconfirm -Sy mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon xf86-video-amdgpu
|
|
else
|
|
pacman --noconfirm -Sy mesa lib32-mesa vulkan-intel lib32-vulkan-intel xorg-server
|
|
fi
|
|
|
|
echo "Pre-Installation Finish Reboot now"
|
|
|
|
exit
|
|
|
|
|
|
#part3
|
|
|
|
# Setting up terminal defaults
|
|
printf '\033c'
|
|
|
|
# Installing programs
|
|
sudo pacman -Syu --noconfirm hyprland polkit xdg-desktop-portal-hyprland xdg-desktop-portal-gtk hyprpaper hypridle hyprlock hyprpolkitagent waybar git sxiv bash-completion mpv ffmpeg fzf man flameshot neovim dunst curl htop lazygit pavucontrol plocate pipewire lib32-pipewire pipewire-audio pipewire-alsa wireplumber pipewire-pulse 7zip rsync openssh starship ttf-terminus-nerd reflector ranger qutebrowser xclip udiskie alacritty rofi bluez bluez-utils blueman otf-font-awesome perl-image-exiftool grim brightnessctl ufw rdesktop keyd
|
|
|
|
sudo systemctl enable bluetooth
|
|
sudo systemctl enable keyd
|
|
|
|
# Generating Dotfiles
|
|
sed -n '14,27p;28q' ~/arch_install3.sh | cut -c2- > ~/.bash_profile
|
|
|
|
#######################
|
|
#####BASHPROFILE#######
|
|
#######################
|
|
##
|
|
## ~/.bash_profile
|
|
##
|
|
#
|
|
#[[ -f ~/.bashrc ]] && . ~/.bashrc
|
|
#
|
|
#if [[ "$(tty)" = "/dev/tty1" ]]; then
|
|
# pgrep hyprland || hyprland
|
|
#elif [[ "$(tty)" = "/dev/tty2" ]]; then
|
|
# pgrep dwm || startx
|
|
#fi
|
|
|
|
|
|
sed -n '33,81p;82q' ~/arch_install3.sh | cut -c2- > ~/.bashrc
|
|
|
|
|
|
#######################
|
|
########BASHRC#########
|
|
#######################
|
|
|
|
##
|
|
## ~/.bashrc
|
|
##
|
|
#
|
|
## If not running interactively, don't do anything
|
|
#[[ $- != *i* ]] && return
|
|
#PS1='[\u@\h \W]\$ '
|
|
#
|
|
##Quality of life Changes
|
|
#shopt -s autocd
|
|
#set -o vi
|
|
#
|
|
#
|
|
##XDG
|
|
#export XDG_DATA_HOME=$HOME/.local/share
|
|
#export XDG_CONFIG_HOME=$HOME/.config
|
|
#export XDG_STATE_HOME=$HOME/.local/state
|
|
#export XDG_CACHE_HOME=$HOME/.cache
|
|
#
|
|
#
|
|
##ENVAR
|
|
#export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
|
#export LESSHISTFILE="$XDG_STATE_HOME"/lesshistory
|
|
#export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
|
#export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
|
#export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default
|
|
#export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
|
|
#export PATH=~/.local/bin:~/.local/scripts:$PATH
|
|
#export EDITOR=nvim
|
|
#export TERMINAL=alacritty
|
|
#export RANGER_LOAD_DEFAULT_RC=FALSE
|
|
#
|
|
#
|
|
##Shortcuts
|
|
#alias l='ls -lAh --color=auto'
|
|
#alias ls='ls --color=auto'
|
|
#alias grep='grep --color=auto'
|
|
#alias vim='nvim'
|
|
#alias wget='wget --hsts-file="$XDG_DATA_HOME"/wget-hsts'
|
|
#
|
|
#if [[ -r /usr/share/bash-completion/bash_completion ]]; then
|
|
# . /usr/share/bash-completion/bash_completion
|
|
#fi
|
|
#
|
|
#eval "$(starship init bash)"
|
|
|
|
mkdir -p ~/.config/git
|
|
sed -n '89,93p;94q' ~/arch_install3.sh | cut -c2- > ~/.config/git/config
|
|
|
|
#######################
|
|
########GIT############
|
|
#######################
|
|
#[user]
|
|
# email = harsh13virdi@gmail.com
|
|
# name = Harsh Virdi
|
|
#[protocol "file"]
|
|
# allow = always
|
|
|
|
mkdir -p ~/.config/hypr
|
|
sed -n '103,104p;105q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprpaper.conf
|
|
|
|
#######################
|
|
###HYPRPAPER.CONF######
|
|
#######################
|
|
#
|
|
#
|
|
#preload =
|
|
#wallpaper =
|
|
#
|
|
#
|
|
|
|
sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.conf
|
|
|
|
#######################
|
|
###HYPRLAND.CONF#######
|
|
#######################
|
|
|
|
## This is an example Hyprland config file.
|
|
## Refer to the wiki for more information.
|
|
## https://wiki.hyprland.org/Configuring/
|
|
#
|
|
## Please note not all available settings / options are set here.
|
|
## For a full list, see the wiki
|
|
#
|
|
## You can split this configuration into multiple files
|
|
## Create your files separately and then link them to this file like this:
|
|
## source = ~/.config/hypr/myColors.conf
|
|
#
|
|
#
|
|
#################
|
|
#### MONITORS ###
|
|
#################
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Monitors/
|
|
## monitor=DP-2, 2560x1080@99.94, 0x0, 1, bitdepth, 10, cm, hdr, sdrbrightness,1.2, sdrsaturation, 0.98, vrr, 1
|
|
#
|
|
#monitor = , preferred, auto, 1
|
|
#
|
|
####################
|
|
#### MY PROGRAMS ###
|
|
####################
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Keywords/
|
|
#
|
|
## Set programs that you use
|
|
#$terminal = alacritty
|
|
#$fileManager = alacritty -e ranger
|
|
#$menu = rofi -show run
|
|
#
|
|
#
|
|
##################
|
|
#### AUTOSTART ###
|
|
##################
|
|
#
|
|
## Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
## Or execute your favorite apps at launch like this:
|
|
#
|
|
#exec-once = waybar
|
|
#exec-once = dunst
|
|
#exec-once = hyprpolkitagent
|
|
#exec-once = hyprpaper
|
|
#exec-once = syncthing --no-browser
|
|
#exec-once = udiskie
|
|
#
|
|
##############################
|
|
#### ENVIRONMENT VARIABLES ###
|
|
##############################
|
|
## See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
##env = LIBVA_DRIVER_NAME,nvidia
|
|
##env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
#env = XDG_CURRENT_DESKTOP,Hyprland
|
|
#env = XDG_SESSION_TYPE,wayland
|
|
#env = XDG_SESSION_DESKTOP,Hyprland
|
|
#env = XCURSOR_SIZE,24
|
|
#env = HYPRCURSOR_SIZE,24
|
|
####################
|
|
#### PERMISSIONS ###
|
|
####################
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Permissions/
|
|
## Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
|
## for security reasons
|
|
#
|
|
## ecosystem {
|
|
## enforce_permissions = 1
|
|
## }
|
|
#
|
|
## permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
|
## permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
|
## permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
|
#
|
|
#
|
|
######################
|
|
#### LOOK AND FEEL ###
|
|
######################
|
|
#
|
|
## Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#general
|
|
#
|
|
#source = ~/.cache/wal/hyprland-looknfeel.conf
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
#animations {
|
|
# enabled = yes, please :)
|
|
#
|
|
# # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
#
|
|
# bezier = easeOutQuint,0.23,1,0.32,1
|
|
# bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
# bezier = linear,0,0,1,1
|
|
# bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
# bezier = quick,0.15,0,0.1,1
|
|
#
|
|
# animation = global, 1, 10, default
|
|
# animation = border, 1, 5.39, easeOutQuint
|
|
# animation = windows, 1, 4.79, easeOutQuint
|
|
# animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
# animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
# animation = fadeIn, 1, 1.73, almostLinear
|
|
# animation = fadeOut, 1, 1.46, almostLinear
|
|
# animation = fade, 1, 3.03, quick
|
|
# animation = layers, 1, 3.81, easeOutQuint
|
|
# animation = layersIn, 1, 4, easeOutQuint, fade
|
|
# animation = layersOut, 1, 1.5, linear, fade
|
|
# animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
# animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
# animation = workspaces, 1, 1.94, almostLinear, fade
|
|
# animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
# animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
#}
|
|
#
|
|
## Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
## "Smart gaps" / "No gaps when only"
|
|
## uncomment all if you wish to use that.
|
|
## workspace = w[tv1], gapsout:0, gapsin:0
|
|
## workspace = f[1], gapsout:0, gapsin:0
|
|
## windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
## windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
|
## windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
|
## windowrule = rounding 0, floating:0, onworkspace:f[1]
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
#dwindle {
|
|
# pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
# preserve_split = true # You probably want this
|
|
#}
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
#master {
|
|
# new_status = master
|
|
# new_on_top = true
|
|
#}
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
#misc {
|
|
# force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
# disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
|
#}
|
|
#
|
|
#
|
|
##############
|
|
#### INPUT ###
|
|
##############
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#input
|
|
#input {
|
|
# kb_layout = us
|
|
# kb_variant =
|
|
# kb_model =
|
|
# kb_options =
|
|
# kb_rules =
|
|
#
|
|
# follow_mouse = 1
|
|
# accel_profile = flat
|
|
#
|
|
# sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
#
|
|
# touchpad {
|
|
# natural_scroll = false
|
|
# }
|
|
#}
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
#gestures {
|
|
# workspace_swipe_touch = false
|
|
#}
|
|
#
|
|
## Example per-device config
|
|
## See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
#device {
|
|
# name = epic-mouse-v1
|
|
# sensitivity = -0.5
|
|
#}
|
|
#
|
|
#
|
|
####################
|
|
#### KEYBINDINGS ###
|
|
####################
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Keywords/
|
|
#$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
#
|
|
## Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
#bind = SUPERSHIFT, RETURN, exec, $terminal
|
|
#bind = $mainMod, Q, killactive,
|
|
#bind = SUPERSHIFT, Q, exit,
|
|
#bind = $mainMod, E, exec, $fileManager
|
|
#bind = $mainMod, V, togglefloating,
|
|
#bind = $mainMod, R, exec, $menu
|
|
#bind = Alt_L, F4, exec, kill -9 $(hyprctl activewindow | grep pid | tail -1 | awk '{print$2}')
|
|
## bind = $mainMod, J, togglesplit, # dwindle
|
|
#
|
|
## Window manipulation
|
|
#bind = $mainMod, j, cyclenext
|
|
#bind = $mainMod, k, cyclenext, prev
|
|
#bind = $mainMod, RETURN, swapnext
|
|
#bind = $mainMod, h, splitratio, -0.1
|
|
#bind = $mainMod, l, splitratio, 0.1
|
|
#bind = $mainMod, m, fullscreen, 0
|
|
#
|
|
## Switch workspaces with mainMod + [0-9]
|
|
#bind = $mainMod, 1, workspace, 1
|
|
#bind = $mainMod, 2, workspace, 2
|
|
#bind = $mainMod, 3, workspace, 3
|
|
#bind = $mainMod, 4, workspace, 4
|
|
#bind = $mainMod, 5, workspace, 5
|
|
#bind = $mainMod, 6, workspace, 6
|
|
#bind = $mainMod, 7, workspace, 7
|
|
#bind = $mainMod, 8, workspace, 8
|
|
#bind = $mainMod, 9, workspace, 9
|
|
#bind = $mainMod, 0, workspace, 10
|
|
#
|
|
## Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
#bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
|
|
#bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
|
|
#bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
|
|
#bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
|
|
#bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
|
|
#bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
|
|
#bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
|
|
#bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
|
|
#bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
|
|
#bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
|
|
#
|
|
## Example special workspace (scratchpad)
|
|
#bind = $mainMod, S, togglespecialworkspace, magic
|
|
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
#
|
|
## Scroll through existing workspaces with mainMod + scroll
|
|
#bind = $mainMod, mouse_down, workspace, e+1
|
|
#bind = $mainMod, mouse_up, workspace, e-1
|
|
#
|
|
## Move/resize windows with mainMod + LMB/RMB and dragging
|
|
#bindm = $mainMod, mouse:272, movewindow
|
|
#bindm = $mainMod, mouse:273, resizewindow
|
|
#
|
|
## Laptop multimedia keys for volume and LCD brightness
|
|
#bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
|
#bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
#bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
#bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
#bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
|
#bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
|
#
|
|
## Requires playerctl
|
|
#bindl = , XF86AudioNext, exec, playerctl next
|
|
#bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
#bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
#bindl = , XF86AudioPrev, exec, playerctl previous
|
|
#
|
|
## Binds for ScriptExec
|
|
#bind = $mainMod, F, exec, alacritty -e fuzzyopen
|
|
#bind = $mainMod SHIFT, B, exec, blender
|
|
#bind = $mainMod SHIFT, S, exec, steam
|
|
#bind = $mainMod SHIFT, D, exec, discord
|
|
#bind = $mainMod SHIFT ALT_L, B, exec, qutebrowser
|
|
#bind = , Print, exec, flameshot screen -p ~/Pictures/
|
|
#
|
|
###############################
|
|
#### WINDOWS AND WORKSPACES ###
|
|
###############################
|
|
#
|
|
## See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
## See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
#
|
|
## windowrules for pinning windows to specific workspaces
|
|
#windowrule = workspace 4 silent,title:Steam
|
|
#windowrule = workspace 8 silent,title:.*qutebrowser
|
|
#windowrule = workspace 6 silent,title:.*Discord
|
|
#windowrule = workspace 3 silent,title:.*Blender
|
|
#windowrule = workspace 5 silent,title:.*mpv
|
|
#
|
|
## Ignore maximize requests from apps. You'll probably like this.
|
|
#windowrule = suppressevent maximize, class:.*
|
|
#
|
|
## Fix some dragging issues with XWayland
|
|
#windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
#
|
|
|
|
mkdir -p ~/.local/share/nvim/undodir
|
|
mkdir -p ~/.config/nvim
|
|
sed -n '438,489p;490q' ~/arch_install3.sh | cut -c2- > ~/.config/nvim/init.vim
|
|
|
|
#######################
|
|
######INIT.VIM#########
|
|
#######################
|
|
#hi Normal guibg=NONE ctermbg=NONE
|
|
#syntax enable
|
|
#filetype plugin on
|
|
#set nu rnu cursorline wrap textwidth=0 wrapmargin=0 linebreak scrolloff=8 sidescrolloff=8
|
|
#set tabstop=4 softtabstop=4 shiftwidth=4 expandtab smartindent autoindent
|
|
#set ignorecase smartcase incsearch
|
|
#set notermguicolors showmatch showmode showcmd
|
|
#set nobackup noswapfile undofile undodir=~/.local/share/nvim/undodir
|
|
#set nocompatible noerrorbells hidden iskeyword+=- path+=** clipboard+=unnamedplus wildmenu spell spelllang=en_us
|
|
#set splitbelow splitright
|
|
#set showtabline=1 tabline=''
|
|
#let mapleader = " "
|
|
#nnoremap <leader>c :nohlsearch<CR>
|
|
#nnoremap Y y$
|
|
#nnoremap n nzzzv
|
|
#nnoremap N Nzzzv
|
|
#nnoremap <C-d> <C-d>zz
|
|
#nnoremap <C-u> <C-u>zz
|
|
#nnoremap <leader>bn :bnext<CR>
|
|
#nnoremap <leader>bp :bprevious<CR>
|
|
#nnoremap <C-h> <C-w>h
|
|
#nnoremap <C-j> <C-w>j
|
|
#nnoremap <C-k> <C-w>k
|
|
#nnoremap <C-l> <C-w>l
|
|
#nnoremap <leader>sv :vsplit<CR>
|
|
#nnoremap <leader>sh :split<CR>
|
|
#nnoremap <C-Up> :resize +2<CR>
|
|
#nnoremap <C-Down> :resize -2<CR>
|
|
#nnoremap <C-Left> :vertical resize -2<CR>
|
|
#nnoremap <C-Right> :vertical resize +2<CR>
|
|
#nnoremap <A-j> :m .+1<CR>==
|
|
#nnoremap <A-k> :m .-2<CR>==
|
|
#vnoremap <A-j> :m '>+1<CR>gv=gv
|
|
#vnoremap <A-k> :m '>-2<CR>gv=gv
|
|
#vnoremap < <gv
|
|
#vnoremap > >gv
|
|
#nnoremap <leader>e :Explore<CR>
|
|
#nnoremap <leader>ff :find
|
|
#nnoremap J mzJ`z
|
|
#nnoremap <leader>rc :e $MYVIMRC<CR>
|
|
#nnoremap <leader>rl :so $MYVIMRC<CR>
|
|
#nnoremap <leader>tn :tabnew<CR>
|
|
#nnoremap <leader>tx :tabclose<CR>
|
|
#nnoremap <leader>tm :tabmove<CR>
|
|
#nnoremap <leader>tr :tabmove +1<CR>
|
|
#nnoremap <leader>tl :tabmove -1<CR>
|
|
#set statusline=
|
|
#set statusline+=\ %F\ %M\ %Y\ %R
|
|
#set statusline+=%=
|
|
#set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%
|
|
#set laststatus=2
|
|
#
|
|
|
|
#######################
|
|
########WAYBAR#########
|
|
#######################
|
|
|
|
mkdir -p ~/.config/waybar
|
|
sed -n '498,591p;592q' ~/arch_install3.sh | cut -c2- > ~/.config/waybar/config.jsonc
|
|
|
|
#// -*- mode: jsonc -*-
|
|
#{
|
|
# // "layer": "top", // Waybar at top layer
|
|
# // "position": "bottom", // Waybar position (top|bottom|left|right)
|
|
# "height": 30, // Waybar height (to be removed for auto height)
|
|
# // "width": 1280, // Waybar width
|
|
# "spacing": 4, // Gaps between modules (4px)
|
|
# // Choose the order of the modules
|
|
# "modules-left": [
|
|
# "hyprland/workspaces",
|
|
# ],
|
|
# "modules-center": [
|
|
# "hyprland/window"
|
|
# ],
|
|
# "modules-right": [
|
|
# "tray",
|
|
# "pulseaudio",
|
|
# "network",
|
|
# "cpu",
|
|
# "memory",
|
|
# "battery",
|
|
# "battery#bat2",
|
|
# "clock",
|
|
# "power-profiles-daemon"
|
|
# ],
|
|
# "tray": {
|
|
# "spacing": 10,
|
|
# },
|
|
# "clock": {
|
|
# "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
# "format-alt": "{:%Y-%m-%d}"
|
|
# },
|
|
# "cpu": {
|
|
# "format": "{usage}% ",
|
|
# "tooltip": false,
|
|
# "on-click": "alacritty -e htop"
|
|
# },
|
|
# "memory": {
|
|
# "format": "{}% ",
|
|
# "on-click": "alacritty -e htop -s PERCENT_MEM"
|
|
# },
|
|
# "battery": {
|
|
# "states": {
|
|
# "warning": 30,
|
|
# "critical": 15
|
|
# },
|
|
# "format": "{capacity}% {icon}",
|
|
# "format-full": "{capacity}% {icon}",
|
|
# "format-charging": "{capacity}% ",
|
|
# "format-plugged": "{capacity}% ",
|
|
# "format-alt": "{time} {icon}",
|
|
# "format-icons": ["", "", "", "", ""]
|
|
# },
|
|
# "battery#bat2": {
|
|
# "bat": "BAT2"
|
|
# },
|
|
# "power-profiles-daemon": {
|
|
# "format": "{icon}",
|
|
# "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
|
# "tooltip": true,
|
|
# "format-icons": {
|
|
# "default": "",
|
|
# "performance": "",
|
|
# "balanced": "",
|
|
# "power-saver": ""
|
|
# }
|
|
# },
|
|
# "network": {
|
|
# "format-wifi": "{essid} ({signalStrength}%) ",
|
|
# "format-ethernet": "{ipaddr}/{cidr} ",
|
|
# "tooltip-format": "{ifname} via {gwaddr} ",
|
|
# "format-linked": "{ifname} (No IP) ",
|
|
# "format-disconnected": "Disconnected ⚠",
|
|
# "on-click": "alacritty -e nmtui"
|
|
# },
|
|
# "pulseaudio": {
|
|
# "format": "{volume}% {icon} {format_source}",
|
|
# "format-bluetooth": "{volume}% {icon} {format_source}",
|
|
# "format-bluetooth-muted": " {icon} {format_source}",
|
|
# "format-muted": " {format_source}",
|
|
# "format-source": "{volume}% ",
|
|
# "format-source-muted": "",
|
|
# "format-icons": {
|
|
# "headphone": "",
|
|
# "hands-free": "",
|
|
# "headset": "",
|
|
# "phone": "",
|
|
# "portable": "",
|
|
# "car": "",
|
|
# "default": ["", "", ""]
|
|
# },
|
|
# "on-click": "pavucontrol"
|
|
# },
|
|
#}
|
|
|
|
|
|
#######################
|
|
#####PYWALTEMPLATE#####
|
|
#######################
|
|
|
|
mkdir -p ~/.config/wal/templates
|
|
|
|
sed -n '602,646p;647q' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/dmenu.rasi
|
|
|
|
#/**
|
|
# * ROFI Color theme
|
|
# * User: Qball
|
|
# * Copyright: Dave Davenport
|
|
# */
|
|
#
|
|
#* {{
|
|
# background-color: {color11};
|
|
# border-color: {color10};
|
|
# text-color: {color0};
|
|
# font: "Terminess Nerd Font 12";
|
|
#}}
|
|
#window {{
|
|
# anchor: south;
|
|
# location: south;
|
|
# width: 100%;
|
|
# padding: 2px;
|
|
# children: [ horibox ];
|
|
#}}
|
|
#horibox {{
|
|
# orientation: horizontal;
|
|
# children: [ prompt, entry, listview ];
|
|
#}}
|
|
#listview {{
|
|
# layout: horizontal;
|
|
# lines: 100;
|
|
#}}
|
|
#entry {{
|
|
# expand: false;
|
|
# width: 10em;
|
|
# background-color: {color12};
|
|
# margin: 2px 2px;
|
|
#}}
|
|
#element {{
|
|
# padding: 0px 2px;
|
|
# border: 2px;
|
|
#}}
|
|
#element selected {{
|
|
# background-color: {color10};
|
|
#}}
|
|
#
|
|
#element-text, element-icon {{
|
|
# background-color: inherit;
|
|
# text-color: inherit;
|
|
#}}
|
|
|
|
sed -n '650,693p;694q' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/hyprland-looknfeel.conf
|
|
|
|
#general {{
|
|
# gaps_in = 3
|
|
# gaps_out = 3
|
|
#
|
|
# border_size = 2
|
|
#
|
|
# # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
# col.active_border = rgba({color9.strip}ff)
|
|
# col.inactive_border = rgba({color10.strip}aa)
|
|
#
|
|
# # Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
# resize_on_border = false
|
|
#
|
|
# # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
# allow_tearing = true
|
|
#
|
|
# layout = master
|
|
#}}
|
|
#
|
|
## https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
#decoration {{
|
|
# rounding = 0
|
|
# rounding_power = 2
|
|
#
|
|
# # Change transparency of focused and unfocused windows
|
|
# active_opacity = 1.0
|
|
# inactive_opacity = 1.0
|
|
#
|
|
# shadow {{
|
|
# enabled = true
|
|
# range = 4
|
|
# render_power = 3
|
|
# color = rgba(1a1a1aee)
|
|
# }}
|
|
#
|
|
# # https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
# blur {{
|
|
# enabled = true
|
|
# size = 3
|
|
# passes = 1
|
|
#
|
|
# vibrancy = 0.1696
|
|
# }}
|
|
#}}
|
|
|
|
sed -n '697,880p;881q' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/waybar-style.css
|
|
|
|
#* {{
|
|
# /* `otf-font-awesome` is required to be installed for icons */
|
|
# font-family: Terminess Nerd Font, FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
|
# font-size: 13px;
|
|
#}}
|
|
#
|
|
#window#waybar {{
|
|
# background-color: {color14.rgba};
|
|
# border-bottom: 3px solid {color1.rgba};
|
|
# border-top: 3px solid {color1.rgba};
|
|
# color: {color0};
|
|
# transition-property: background-color;
|
|
# transition-duration: .5s;
|
|
# box-shadow: inset 0 3px transparent;
|
|
#}}
|
|
#
|
|
#window#waybar.hidden {{
|
|
# opacity: 0.2;
|
|
#}}
|
|
#
|
|
#button {{
|
|
# /* Use box-shadow instead of border so the text isn't offset */
|
|
# /* Avoid rounded borders under each button name */
|
|
# border: none;
|
|
# border-radius: 0;
|
|
#}}
|
|
#
|
|
#/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
|
#button:hover {{
|
|
# background: inherit;
|
|
# text-shadow: inherit;
|
|
# box-shadow: inherit;
|
|
#}}
|
|
#
|
|
##clock,#battery,#cpu,#memory,#network,#pulseaudio,#tray,#power-profiles-daemon {{
|
|
# padding: 0 10px;
|
|
# margin: 3 0px;
|
|
# color: #ffffff;
|
|
#}}
|
|
#
|
|
#/* you can set a style on hover for any module like this */
|
|
##pulseaudio,#battery {{
|
|
# background-color: {color2};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##pulseaudio:hover {{
|
|
# background-color: {color10};
|
|
#}}
|
|
#
|
|
##clock {{
|
|
# background-color: {color6};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##clock:hover {{
|
|
# background-color: {color14};
|
|
#}}
|
|
#
|
|
##network,#cpu,#memory {{
|
|
# background-color: {color5};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##cpu:hover,#network:hover,#memory:hover {{
|
|
# background-color: {color13};
|
|
#}}
|
|
#
|
|
##tray {{
|
|
# background-color: {color11};
|
|
#}}
|
|
#
|
|
##workspaces button {{
|
|
# padding: 0 5px;
|
|
# margin: 3 0px;
|
|
# background-color: {color11};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##workspaces button:hover {{
|
|
# background: {color12.rgba};
|
|
#}}
|
|
#
|
|
##workspaces button.active {{
|
|
# background-color: {color10};
|
|
#}}
|
|
#
|
|
##workspaces button.urgent {{
|
|
# background-color: #eb4d4b;
|
|
#}}
|
|
#
|
|
##window,#workspaces {{
|
|
# margin: 0 4px;
|
|
#}}
|
|
#
|
|
#/* If workspaces is the leftmost module, omit left margin */
|
|
#.modules-left > widget:first-child > #workspaces {{
|
|
# margin-left: 0;
|
|
#}}
|
|
#
|
|
#/* If workspaces is the rightmost module, omit right margin */
|
|
#.modules-right > widget:last-child > #workspaces {{
|
|
# margin-right: 0;
|
|
#}}
|
|
#
|
|
##battery.charging, #battery.plugged {{
|
|
# color: #ffffff;
|
|
# background-color: #26A65B;
|
|
#}}
|
|
#
|
|
#@keyframes blink {{
|
|
# to {{
|
|
# background-color: #ffffff;
|
|
# color: #000000;
|
|
# }}
|
|
#}}
|
|
#
|
|
#/* Using steps() instead of linear as a timing function to limit cpu usage */
|
|
##battery.critical:not(.charging) {{
|
|
# background-color: #f53c3c;
|
|
# color: #ffffff;
|
|
# animation-name: blink;
|
|
# animation-duration: 0.5s;
|
|
# animation-timing-function: steps(12);
|
|
# animation-iteration-count: infinite;
|
|
# animation-direction: alternate;
|
|
#}}
|
|
#
|
|
##power-profiles-daemon {{
|
|
# padding-right: 15px;
|
|
#}}
|
|
#
|
|
##power-profiles-daemon.performance {{
|
|
# background-color: #f53c3c;
|
|
# color: #ffffff;
|
|
#}}
|
|
#
|
|
##power-profiles-daemon.balanced {{
|
|
# background-color: #2980b9;
|
|
# color: #ffffff;
|
|
#}}
|
|
#
|
|
##power-profiles-daemon.power-saver {{
|
|
# background-color: #2ecc71;
|
|
# color: #000000;
|
|
#}}
|
|
#
|
|
#label:focus {{
|
|
# background-color: {color13};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##network.disconnected {{
|
|
# background-color: {color15};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##pulseaudio.muted {{
|
|
# background-color: {color15};
|
|
# color: {color0};
|
|
#}}
|
|
#
|
|
##tray > .passive {{
|
|
# -gtk-icon-effect: dim;
|
|
#}}
|
|
#
|
|
##tray > .needs-attention {{
|
|
# -gtk-icon-effect: highlight;
|
|
# background-color: #eb4d4b;
|
|
#}}
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
|
|
#######################
|
|
#######SCRIPTS#########
|
|
#######################
|
|
|
|
mkdir -p ~/.local/scripts
|
|
|
|
sed -n '890,910p;911q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountlocalvol
|
|
|
|
##!/bin/sh
|
|
#
|
|
#lsblk
|
|
#
|
|
#echo "Enter the drive you want to mount:"
|
|
#read drive
|
|
#echo "Where do you want to mount the drive?"
|
|
#read mountpath
|
|
#sudo mkdir -p $mountpath
|
|
#sudo chown $(id -u):$(id -g) $mountpath
|
|
#
|
|
##finding UUID
|
|
#UUID=$(lsblk -f | grep $drive | awk '{print $4}')
|
|
#fs=$(lsblk -f | grep $drive | awk '{print $2}')
|
|
#
|
|
#echo " " | sudo tee -a /etc/fstab
|
|
#echo "# /dev/$drive" | sudo tee -a /etc/fstab
|
|
#echo "UUID=$UUID $mountpath $fs rw,relatime 0 0" | sudo tee -a /etc/fstab
|
|
#
|
|
#sudo systemctl daemon-reload
|
|
#sudo mount -a
|
|
|
|
sed -n '914,938p;939q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountsmbvol
|
|
|
|
##!/bin/sh
|
|
#
|
|
#sudo pacman -Syu cifs-utils
|
|
#
|
|
#echo "Enter the url/IP of your share:"
|
|
#read ndrive
|
|
#echo "Where do you want to mount the drive?"
|
|
#read mountpath
|
|
#sudo mkdir -p $mountpath
|
|
#sudo chown $(id -u):$(id -g) $mountpath
|
|
#
|
|
##Saving credentials
|
|
#echo "Username:"
|
|
#read user
|
|
#echo "Password:"
|
|
#read pass
|
|
#echo "username=$user" | sudo tee /etc/.smbcred
|
|
#echo "password=$pass" | sudo tee -a /etc/.smbcred
|
|
#
|
|
#echo " " | sudo tee -a /etc/fstab
|
|
#echo "# Network Share" | sudo tee -a /etc/fstab
|
|
#echo "$ndrive $mountpath cifs uid=$(id -u),gid=$(id -g),credentials=/etc/.smbcred,iocharset=utf8 0 0" | sudo tee -a /etc/fstab
|
|
#
|
|
#sudo systemctl daemon-reload
|
|
#sudo mount -a
|
|
|
|
sed -n '942,954p;955q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/disableipv6
|
|
|
|
##!/bin/sh
|
|
#
|
|
#ip addr show
|
|
#
|
|
#echo "Enter your network device: "
|
|
#read netdev
|
|
#
|
|
#echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee /etc/sysctl.d/40-ipv6.conf
|
|
#echo "net.ipv6.conf.$netdev.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.d/40-ipv6.conf
|
|
#
|
|
#cat /etc/sysctl.d/40-ipv6.conf
|
|
#
|
|
#echo "Add -->sudo systemctl restart systemd-sysctl.service &<-- to your init script of liking to automatically unbind the ipv6 address assigned to your ethernet controller"
|
|
|
|
sed -n '958,960p;961q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/fuzzyopen
|
|
|
|
##! /bin/sh
|
|
#
|
|
#find ~/ | fzf | xargs -I{} xdg-open {}
|
|
|
|
sed -n '964,973p;974q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/randomwp
|
|
|
|
##!/usr/bin/env bash
|
|
#
|
|
#WALLPAPER_DIR="$HOME/Pictures/Wallpapers/"
|
|
#CURRENT_WALL=$(hyprctl hyprpaper listloaded)
|
|
#
|
|
## Get a random wallpaper that is not the current one
|
|
#WALLPAPER=$(find "$WALLPAPER_DIR" -type f ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1)
|
|
#
|
|
## Apply the selected wallpaper
|
|
#hyprctl hyprpaper reload ,"$WALLPAPER"
|
|
|
|
sed -n '977,987p;988q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/updatetheme
|
|
|
|
##!/bin/sh
|
|
#
|
|
#wallpaper=$(sxiv -frto ~/Pictures/Wallpapers/)
|
|
#wal --cols16 lighten -n --contrast 1.5 -i "$wallpaper"
|
|
#echo "preload = $wallpaper" > ~/.config/hypr/hyprpaper.conf
|
|
#echo "wallpaper = , $wallpaper" >> ~/.config/hypr/hyprpaper.conf
|
|
#hyprctl hyprpaper reload ,"$wallpaper"
|
|
#cp ~/.cache/wal/dmenu.rasi ~/.config/rofi/dmenu.rasi
|
|
#cp ~/.cache/wal/waybar-style.css ~/.config/waybar/style.css
|
|
#
|
|
#killall -SIGUSR2 waybar
|
|
|
|
|
|
#######################
|
|
#########ROFI##########
|
|
#######################
|
|
mkdir -p ~/.config/rofi
|
|
echo '@theme "dmenu.rasi"' > ~/.config/rofi/config.rasi
|
|
|
|
#######################
|
|
######ALACRITTY########
|
|
#######################
|
|
mkdir -p ~/.config/alacritty
|
|
echo '[font]' > ~/.config/alacritty/alacritty.toml
|
|
echo 'size = 12.0' >> ~/.config/alacritty/alacritty.toml
|
|
echo '[font.normal]' >> ~/.config/alacritty/alacritty.toml
|
|
echo 'family = "Terminess Nerd Font"' >> ~/.config/alacritty/alacritty.toml
|
|
echo 'style = "Regular"' >> ~/.config/alacritty/alacritty.toml
|
|
echo '[window]' >> ~/.config/alacritty/alacritty.toml
|
|
echo 'opacity = 0.8' >> ~/.config/alacritty/alacritty.toml
|
|
echo '[general]' >> ~/.config/alacritty/alacritty.toml
|
|
echo 'import = ["~/.cache/wal/colors-alacritty.toml",]' >> ~/.config/alacritty/alacritty.toml
|
|
|
|
#######################
|
|
######FLAMESHOT########
|
|
#######################
|
|
mkdir -p ~/.config/flameshot
|
|
echo '[General]' > ~/.config/flameshot/flameshot.ini
|
|
echo 'contrastOpacity=188' >> ~/.config/flameshot/flameshot.ini
|
|
echo 'useGrimAdapter=true' >> ~/.config/flameshot/flameshot.ini
|
|
|
|
#######################
|
|
########RANGER#########
|
|
#######################
|
|
ranger --copy-config all
|
|
sed -i "s/column_ratios 1,3,4/column_ratios 1,2,2/" ~/.config/ranger/rc.conf
|
|
sed -i "s/preview_files true/preview_files false/" ~/.config/ranger/rc.conf
|
|
sed -i "s/draw_borders none/draw_borders both/" ~/.config/ranger/rc.conf
|
|
sed -i "s/update_title false/update_title true/" ~/.config/ranger/rc.conf
|
|
sed -i "s/tilde_in_titlebar false/tilde_in_titlebar true/" ~/.config/ranger/rc.conf
|
|
sed -i "s/cd_tab_fuzzy false/cd_tab_fuzzy true/" ~/.config/ranger/rc.conf
|
|
sed -i "s/line_numbers false/line_numbers relative/" ~/.config/ranger/rc.conf
|
|
|
|
#######################
|
|
#########KEYD##########
|
|
#######################
|
|
echo '[id]' > /etc/keyd/default.conf
|
|
echo ' ' > /etc/keyd/default.conf
|
|
echo '*' > /etc/keyd/default.conf
|
|
echo ' ' > /etc/keyd/default.conf
|
|
echo '[main]' > /etc/keyd/default.conf
|
|
echo ' ' > /etc/keyd/default.conf
|
|
echo 'capslock = overload(control, esc)' > /etc/keyd/default.conf
|
|
echo ' ' > /etc/keyd/default.conf
|
|
echo 'esc = capslock' > /etc/keyd/default.conf
|
|
|
|
# Making all of the generated scripts executable
|
|
|
|
sudo chmod +x ~/.local/scripts/mountlocalvol
|
|
sudo chmod +x ~/.local/scripts/mountsmbvol
|
|
sudo chmod +x ~/.local/scripts/disableipv6
|
|
sudo chmod +x ~/.local/scripts/fuzzyopen
|
|
sudo chmod +x ~/.local/scripts/randomwp
|
|
sudo chmod +x ~/.local/scripts/updatetheme
|
|
|
|
# Configuring firewall and OpenSSH
|
|
sudo systemctl enable ufw
|
|
sudo ufw default deny
|
|
echo "Input the IP of your Network with proper CIDR notation:"
|
|
read cidr
|
|
sudo ufw allow from "$cidr"
|
|
sudo ufw limit ssh
|
|
sudo ufw enable
|
|
sudo systemctl enable sshd
|
|
|
|
# Configuring Wake on Lan
|
|
|
|
ip addr show
|
|
|
|
echo "Choose the device you want to use for wake on lan: "
|
|
read netdev
|
|
|
|
netdevMacadd=$(ip addr show "$netdev" | awk 'NR==2 {print$2}')
|
|
|
|
echo "[Match]" | sudo tee /etc/systemd/network/50-wired.link
|
|
echo "MACAddress=$netdevMacadd" | sudo tee -a /etc/systemd/network/50-wired.link
|
|
echo " " | sudo tee -a /etc/systemd/network/50-wired.link
|
|
echo "[Link]" | sudo tee -a /etc/systemd/network/50-wired.link
|
|
echo "NamePolicy=kernel database onboard slot path" | sudo tee -a /etc/systemd/network/50-wired.link
|
|
echo "MACAddressPolicy=persistent" | sudo tee -a /etc/systemd/network/50-wired.link
|
|
echo "WakeOnLan=magic" | sudo tee -a /etc/systemd/network/50-wired.link
|
|
|
|
cat /etc/systemd/network/50-wired.link
|
|
|
|
# Downloading wallpapers
|
|
|
|
cd $HOME
|
|
mkdir -p Pictures/Wallpapers
|
|
cd Pictures/Wallpapers
|
|
for (( w=257; w<258; w++ )); do curl -LOS "https://raw.githubusercontent.com/whoisYoges/lwalpapers/PicturesOnly/wallpapers/$(printf b-%0.3d.jpg "$w")"; done
|
|
|
|
# Installing Yay
|
|
|
|
cd $HOME
|
|
git clone https://aur.archlinux.org/yay.git
|
|
cd yay
|
|
makepkg -si
|
|
yay --version
|
|
cd $HOME
|
|
sudo rm -rf yay
|
|
sudo pacman -Rsn go
|
|
|
|
# Installing Aur Packages
|
|
|
|
yay -Syu xpadneo-dkms python-pywal16
|
|
|
|
# Setting up Wallpaper for first use
|
|
wal --cols16 lighten -n --contrast 1.5 -i ~/Pictures/Wallpapers/b-257.jpg
|
|
echo "preload = ~/Pictures/Wallpapers/b-257.jpg" > ~/.config/hypr/hyprpaper.conf
|
|
echo "wallpaper = , ~/Pictures/Wallpapers/b-257.jpg" >> ~/.config/hypr/hyprpaper.conf
|
|
cp ~/.cache/wal/dmenu.rasi ~/.config/rofi/dmenu.rasi
|
|
cp ~/.cache/wal/waybar-style.css ~/.config/waybar/style.css
|
|
|
|
|
|
exit
|