#!/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 otf-font-awesome perl-image-exiftool grim
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:~/.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 = 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 = 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
#
###############################
#### 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
#
## 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#########
#######################
#syntax enable
#
#filetype plugin on
#set notermguicolors
#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=~/.local/share/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
#
#
#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
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": "{:%Y %B}\n{calendar}",
# "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
# 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
# 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