669 lines
19 KiB
Bash
Executable File
669 lines
19 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
|
|
echo "Enter the partition for your home: "
|
|
read homepartition
|
|
mkfs.ext4 $homepartition
|
|
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
|
|
mount $homepartition /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
|
|
|
|
sudo systemctl enable bluetooth
|
|
|
|
# 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:$PATH
|
|
#export EDITOR=nvim
|
|
#export TERMINAL=st
|
|
#export TERM='xterm-256color'
|
|
#
|
|
#
|
|
##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 = $HOME/Pictures/Wallpapers/b-001.jpg
|
|
#wallpaper = , $HOME/Pictures/Wallpapers/b-001.jpg
|
|
#
|
|
#
|
|
|
|
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 = 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
|
|
#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(33ccffee) rgba(00ff99ee) 45deg
|
|
# col.inactive_border = rgba(595959aa)
|
|
#
|
|
# # 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
|
|
# }
|
|
#}
|
|
#
|
|
## 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
|
|
#}
|
|
#
|
|
## 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 = 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, st -e fuzzyopen
|
|
#
|
|
###############################
|
|
#### 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
|
|
#
|
|
#
|
|
## 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 ~/.cache/nvim/undodir
|
|
mkdir -p ~/.config/nvim
|
|
sed -n '438,489p;490q' ~/arch_install3.sh | cut -c2- > ~/.config/nvim/init.vim
|
|
|
|
#######################
|
|
######INIT.VIM#########
|
|
#######################
|
|
#syntax enable
|
|
#
|
|
#filetype plugin on
|
|
#
|
|
#set nocompatible
|
|
#set noerrorbells
|
|
#set tabstop=4 softtabstop=4
|
|
#set shiftwidth=4
|
|
#set expandtab
|
|
#set smartindent
|
|
#set hidden
|
|
#set smartcase
|
|
#set noswapfile
|
|
#set nobackup
|
|
#set undodir=~/.cache/nvim/undodir
|
|
#set undofile
|
|
#set incsearch
|
|
#set scrolloff=8
|
|
#set showmode
|
|
#set showcmd
|
|
#set nu rnu
|
|
#set spell spelllang=en_us
|
|
#
|
|
#hi Normal guibg=NONE ctermbg=NONE
|
|
#
|
|
#"Word wrap
|
|
#set textwidth=0
|
|
#set wrapmargin=0
|
|
#set wrap
|
|
#set linebreak
|
|
#set columns=80
|
|
#
|
|
#let mapleader = " "
|
|
#
|
|
#set path+=**
|
|
#set wildmenu
|
|
#
|
|
#" Clear status line when vimrc is reloaded.
|
|
#set statusline=
|
|
#
|
|
#" Status line left side.
|
|
#set statusline+=\ %F\ %M\ %Y\ %R
|
|
#
|
|
#" Use a divider to separate the left side from the right side.
|
|
#set statusline+=%=
|
|
#
|
|
#" Status line right side.
|
|
#set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%
|
|
#
|
|
#" Show the status on the second to last line.
|
|
#set laststatus=2
|
|
#
|
|
|
|
|
|
#######################
|
|
########WAYBAR#########
|
|
#######################
|
|
|
|
mkdir -p ~/.config/waybar
|
|
cp /etc/xdg/waybar/* ~/.config/waybar/
|
|
sed -i 's/workspaces button.focused/workspaces button.active/' ~/.config/waybar/style.css
|
|
sed -i 's/font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;/font-family: Terminess Nerd Font, FontAwesome, Roboto, Helvetica, Arial, sans-serif;/' ~/.config/waybar/style.css
|
|
sed -i 's/sway/hyprland/' ~/.config/waybar/config.jsonc
|
|
sed -i 's/"idle_inhibitor",//' ~/.config/waybar/config.jsonc
|
|
sed -i 's/"custom/power",//' ~/.config/waybar/config.jsonc
|
|
|
|
|
|
#######################
|
|
#########ROFI##########
|
|
#######################
|
|
mkdir -p ~/.config/rofi
|
|
echo '@theme "dmenu.rasi"' > ~/.config/rofi/config.rasi
|
|
cp /usr/share/rofi/themes/dmenu.rasi ~/.config/rofi/dmenu.rasi
|
|
sed -i 's/Times New Roman 12/Terminess Nerd Font 14/' ~/.config/rofi/dmenu.rasi
|
|
sed -i 's/north/south/g' ~/.config/rofi/dmenu.rasi
|
|
|
|
#######################
|
|
######ALACRITTY########
|
|
#######################
|
|
mkdir -p ~/.config/alacritty
|
|
echo '[font]' > ~/.config/alacritty/alacritty.toml
|
|
echo 'size = 8.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.6' >> ~/.config/alacritty/alacritty.toml
|
|
|
|
# Downloading wallpapers
|
|
|
|
cd $HOME
|
|
mkdir -p Pictures/Wallpapers
|
|
cd Pictures/Wallpapers
|
|
for (( w=1; w<2; w++ )); do curl -LOS "https://raw.githubusercontent.com/whoisYoges/lwalpapers/PicturesOnly/wallpapers/$(printf b-%0.3d.jpg "$w")"; done
|
|
|
|
|
|
|
|
exit
|