Compare commits

..

25 Commits

Author SHA1 Message Date
95244d8b01 Fixed an issue where escape key was not behaving properly 2026-02-05 05:24:40 +05:30
341b84b133 Updated settings related to hyprland config to match the rules that were updated in 0.53.0-2 2026-02-05 05:19:59 +05:30
508f764e0b Updated settings related to hyprland config 2026-01-26 10:12:53 +05:30
d26f5bd30f Updated hyprland config
Closes #30
2026-01-09 19:19:28 +05:30
72fd6cfbaf Updated a few typos related to dotfile generation 2025-12-13 22:31:00 +05:30
0df8176d26 Updated dotfile formatting 2025-12-12 20:53:09 +05:30
e2b4e2c550 Updated to a better way of exporting dotfiles 2025-12-12 20:44:46 +05:30
ffcae275d5 Updated Readme File 2025-12-07 17:21:31 +05:30
b9917f1752 Setting up pywal for qutebrowser
Closes #25
2025-11-30 14:56:09 +05:30
ac3b9bc24e Added keyd to software install list and setup basic config file
Closes #27
2025-11-29 07:04:54 +05:30
5dded6733a Updated hyperland and neovim config 2025-11-16 11:22:19 +05:30
1e73d0f308 Updated script so that the OS installs on one continious drive, instead of partitioning it. 2025-10-17 21:18:21 +05:30
2f218fd838 Fixed outdated hyprland variables
Closes #21
2025-10-17 21:10:35 +05:30
d962f35bd3 Added rdesktop to install list for accessing Windows machines remotely 2025-10-17 20:49:17 +05:30
4d765788ea Added Wake on lan configuration option 2025-08-21 21:52:02 +05:30
ba52b74a45 Setup basic firewall rules and OpenSSH 2025-08-18 07:49:59 +05:30
4540af37d5 Added more Keybinds and Window rules to hyprland.conf 2025-08-18 07:26:23 +05:30
29d3475351 Added a application to install list for brightness control 2025-08-17 11:30:56 +05:30
72a28df8ea Minor Bug Fixes 2025-08-17 10:02:26 +05:30
9ce2ed58d6 Updated General Themeing Backend 2025-08-16 16:24:26 +05:30
4b6e6e5eb5 Fixed wallpaper not showing up on first launch 2025-08-15 23:33:45 +05:30
0c525aa573 Moved nvim undo directory to a more presistant location 2025-08-15 17:27:48 +05:30
7772730aa7 Added Config Generation for Ranger (file manager) 2025-08-15 16:39:16 +05:30
5b4a997676 Automated Theme generation using pywal 2025-08-15 14:38:18 +05:30
1885d1d8df Added a script to randomly setting a wallpaper from a list of wallpapers 2025-08-11 06:52:32 +05:30
2 changed files with 638 additions and 166 deletions

View File

@@ -1,3 +1,3 @@
# archinstallscript
A simple Bash script to automate installation of Arch Linux
A simple Bash script that sets up a customized Arch Linux environment.

796
setup Executable file → Normal file
View File

@@ -19,9 +19,9 @@ 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: "
@@ -30,7 +30,7 @@ if [[ $answer = y ]] ; then
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
@@ -136,17 +136,15 @@ exit
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 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
sed -n '/^##BASHPROFILE#$/,/^#BASHPROFILEEND#$/p' ~/arch_install3.sh | cut -c2- > ~/.bash_profile
#######################
#####BASHPROFILE#######
#######################
##BASHPROFILE#
##
## ~/.bash_profile
##
@@ -154,19 +152,17 @@ sed -n '14,27p;28q' ~/arch_install3.sh | cut -c2- > ~/.bash_profile
#[[ -f ~/.bashrc ]] && . ~/.bashrc
#
#if [[ "$(tty)" = "/dev/tty1" ]]; then
# pgrep hyprland || hyprland
# pgrep hyprland || start-hyprland
#elif [[ "$(tty)" = "/dev/tty2" ]]; then
# pgrep dwm || startx
#fi
##BASHPROFILEEND#
sed -n '33,81p;82q' ~/arch_install3.sh | cut -c2- > ~/.bashrc
sed -n '/^##BASHRC#$/,/^##BASHRCEND#$/p' ~/arch_install3.sh | cut -c2- > ~/.bashrc
#######################
########BASHRC#########
#######################
##BASHRC#
##
## ~/.bashrc
##
@@ -196,8 +192,8 @@ sed -n '33,81p;82q' ~/arch_install3.sh | cut -c2- > ~/.bashrc
#export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
#export PATH=~/.local/bin:~/.local/scripts:$PATH
#export EDITOR=nvim
#export TERMINAL=st
#export TERM='xterm-256color'
#export TERMINAL=alacritty
#export RANGER_LOAD_DEFAULT_RC=FALSE
#
#
##Shortcuts
@@ -212,36 +208,24 @@ sed -n '33,81p;82q' ~/arch_install3.sh | cut -c2- > ~/.bashrc
#fi
#
#eval "$(starship init bash)"
##BASHRCEND#
mkdir -p ~/.config/git
sed -n '89,93p;94q' ~/arch_install3.sh | cut -c2- > ~/.config/git/config
sed -n '/^##GIT#$/,/^##GITEND#$/p' ~/arch_install3.sh | cut -c2- > ~/.config/git/config
#######################
########GIT############
#######################
##GIT#
#[user]
# email = harsh13virdi@gmail.com
# name = Harsh Virdi
#[protocol "file"]
# allow = always
##GITEND#
mkdir -p ~/.config/hypr
sed -n '103,104p;105q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprpaper.conf
sed -n '/^###HYPRLANDCONF########$/,/^##HYPRLANDCONFEND######$/p' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.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#######
###HYPRLANDCONF########
#######################
## This is an example Hyprland config file.
@@ -262,8 +246,11 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
#
## 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
#monitor=DP-2, 2560x1080@99.94, 0x0, 1, vrr, 1
##monitor=HDMI-A-2, 1920x1080@120.00, 0x0, 1, bitdepth, 10, cm, hdr, sdrbrightness, 1.2, sdrsaturation, 0.98, vrr, 1
##monitor=HDMI-A-2, 1920x1080@120.00, 0x0, 1, vrr, 1
##monitor=DP-2, disable
#monitor=HDMI-A-2, disable
#
####################
#### MY PROGRAMS ###
@@ -294,13 +281,21 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
#### ENVIRONMENT VARIABLES ###
##############################
## See https://wiki.hyprland.org/Configuring/Environment-variables/
#
##Nvidia GPU
##env = LIBVA_DRIVER_NAME,nvidia
##env = __GLX_VENDOR_LIBRARY_NAME,nvidia
##Hyprland
#env = XDG_CURRENT_DESKTOP,Hyprland
#env = XDG_SESSION_TYPE,wayland
#env = XDG_SESSION_DESKTOP,Hyprland
#env = XCURSOR_SIZE,24
#env = HYPRCURSOR_SIZE,24
##QT
#env = QT_QPA_PLATFORMTHEME,qt5ct
####################
#### PERMISSIONS ###
####################
@@ -325,50 +320,8 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
## 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
# }
#}
#source = ~/.cache/wal/hyprland-looknfeel.conf
#
## https://wiki.hyprland.org/Configuring/Variables/#animations
#animations {
@@ -419,6 +372,7 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
## 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
@@ -452,7 +406,7 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
#
## https://wiki.hyprland.org/Configuring/Variables/#gestures
#gestures {
# workspace_swipe = false
# workspace_swipe_touch = false
#}
#
## Example per-device config
@@ -540,6 +494,11 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
#
## 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 ###
@@ -549,85 +508,485 @@ sed -n '114,429p;430q' ~/arch_install3.sh | cut -c2- > ~/.config/hypr/hyprland.c
## 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 4 silent, match:title .*Steam.*
#windowrule = workspace 8 silent,match:title .*qutebrowser
#windowrule = workspace 6 silent,match:title .*Discord
#windowrule = workspace 3 silent,match:title .*Blender
#windowrule = workspace 5 silent,match:title .*mpv
#
## Ignore maximize requests from apps. You'll probably like this.
#windowrule = suppressevent maximize, class:.*
#windowrule = suppress_event maximize, match:class .*
#
## Fix some dragging issues with XWayland
#windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
#windowrule = no_initial_focus on,match:class .*,match:title .*,match:xwayland 1,match:float 1,match:fullscreen 0,match:pin 0
#
#######################
##HYPRLANDCONFEND######
mkdir -p ~/.cache/nvim/undodir
mkdir -p ~/.local/share/nvim/undodir
mkdir -p ~/.config/nvim
sed -n '438,489p;490q' ~/arch_install3.sh | cut -c2- > ~/.config/nvim/init.vim
sed -n '/^##INITVIM#$/,/^##INITVIMEND#$/p' ~/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
#
##INITVIM#
#hi Normal guibg=NONE ctermbg=NONE
#
#"Word wrap
#set textwidth=0
#set wrapmargin=0
#syntax enable
#filetype plugin on
#set nu rnu
#set cursorline
#set wrap
#set textwidth=0 wrapmargin=0
#set linebreak
#
#
#let mapleader = " "
#
#set scrolloff=8 sidescrolloff=8
#set tabstop=4 softtabstop=4 shiftwidth=4
#set 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
#set iskeyword+=-
#set path+=**
#set wildmenu
#
#" Clear status line when vimrc is reloaded.
#set clipboard+=unnamedplus
#set 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=
#
#" 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
#
##INITVIMEND#
mkdir -p ~/.config/waybar
sed -n '/#\/\/WAYBARCONFIG/,/#\/\/WAYBARCONFIGEND/p' ~/arch_install3.sh | cut -c2- > ~/.config/waybar/config.jsonc
#######################
########WAYBAR#########
#######################
#//WAYBARCONFIG
#// -*- 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"
# },
#}
#//WAYBARCONFIGEND
#######################
#####PYWALTEMPLATE#####
#######################
mkdir -p ~/.config/wal/templates
sed -n '/#\/\/ROFICONFIG/,/#\/\/ROFICONFIGEND/p' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/dmenu.rasi
#//ROFICONFIG
#/**
# * 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;
#}}
#//ROFICONFIGEND
sed -n '/##HYPRLANDLOOKNFEEL/,/##HYPRLANDLOOKNFEELEND/p' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/hyprland-looknfeel.conf
##HYPRLANDLOOKNFEEL
#
#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
# }}
#}}
##HYPRLANDLOOKNFEELEND
sed -n '/#\/\*WAYBARSTYLE\*\//,/#\/\*WAYBARSTYLEEND\*\//p' ~/arch_install3.sh | cut -c2- > ~/.config/wal/templates/waybar-style.css
#/*WAYBARSTYLE*/
#* {{
# /* `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;
#}}
#
#/*WAYBARSTYLEEND*/
#######################
#######SCRIPTS#########
#######################
mkdir -p ~/.local/scripts
sed -n '498,518p;519q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountlocalvol
sed -n '/^#MOUNTLOCALVOLSCRIPT$/,/^#MOUNTLOCALVOLSCRIPTEND$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/mountlocalvol
#MOUNTLOCALVOLSCRIPT
##!/bin/sh
#
#lsblk
@@ -649,9 +1008,11 @@ sed -n '498,518p;519q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountloc
#
#sudo systemctl daemon-reload
#sudo mount -a
#MOUNTLOCALVOLSCRIPTEND
sed -n '522,546p;547q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountsmbvol
sed -n '/^#MOUNTSMBVOLSCRIPT$/,/^#MOUNTSMBVOLSCRIPTEND$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/mountsmbvol
#MOUNTSMBVOLSCRIPT
##!/bin/sh
#
#sudo pacman -Syu cifs-utils
@@ -677,9 +1038,11 @@ sed -n '522,546p;547q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/mountsmb
#
#sudo systemctl daemon-reload
#sudo mount -a
#MOUNTSMBVOLSCRIPTEND
sed -n '550,562p;563q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/disableipv6
sed -n '/^#DISABLEIPV6$/,/^#DISABLEIP6END$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/disableipv6
#DISABLEIPV6
##!/bin/sh
#
#ip addr show
@@ -693,30 +1056,51 @@ sed -n '550,562p;563q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/disablei
#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"
#DISABLEIP6END
sed -n '566,568p;569q' ~/arch_install3.sh | cut -c2- > ~/.local/scripts/fuzzyopen
sed -n '/^#FUZZYOPEN$/,/^#FUZZYOPENEND$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/fuzzyopen
#FUZZYOPEN
##! /bin/sh
#
#find ~/ | fzf | xargs -I{} xdg-open {}
#FUZZYOPENEND
sudo chmod +x ~/.local/scripts/mountlocalvol
sudo chmod +x ~/.local/scripts/mountsmbvol
sudo chmod +x ~/.local/scripts/disableipv6
sudo chmod +x ~/.local/scripts/fuzzyopen
sed -n '/^#RANDOMWP$/,/^#RANDOMWPEND$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/randomwp
#######################
########WAYBAR#########
#######################
#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"
#RANDOMWPEND
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 '20d' ~/.config/waybar/config.jsonc
sed -i 's/"tray",/"tray"/' ~/.config/waybar/config.jsonc
sed -i '33d' ~/.config/waybar/config.jsonc
sed -n '/^#UPDATETHEME$/,/^#UPDATETHEMEEND$/p' ~/arch_install3.sh | cut -c2- | sed '1d;$d' > ~/.local/scripts/updatetheme
#UPDATETHEME
##!/bin/sh
#
#wallpaper=$(sxiv -frto ~/Pictures/Wallpapers/)
#wal --cols16 lighten -n --contrast 1.5 -i "$wallpaper"
#echo "wallpaper {" > ~/.config/hypr/hyprpaper.conf
#echo " monitor =" >> ~/.config/hypr/hyprpaper.conf
#echo " path = $wallpaper" >> ~/.config/hypr/hyprpaper.conf
#echo " fit_mode = cover" >> ~/.config/hypr/hyprpaper.conf
#echo "}" >> ~/.config/hypr/hyprpaper.conf
#echo " " >> ~/.config/hypr/hyprpaper.conf
#echo "splash = 0" >> ~/.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
#UPDATETHEMEEND
#######################
@@ -724,21 +1108,20 @@ sed -i '33d' ~/.config/waybar/config.jsonc
#######################
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 '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.6' >> ~/.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########
@@ -748,12 +1131,75 @@ 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 = 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=1; w<2; w++ )); do curl -LOS "https://raw.githubusercontent.com/whoisYoges/lwalpapers/PicturesOnly/wallpapers/$(printf b-%0.3d.jpg "$w")"; done
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
@@ -763,10 +1209,36 @@ cd yay
makepkg -si
yay --version
cd $HOME
rm -r yay
sudo rm -rf yay
sudo pacman -Rsn go
# Installing Aur Packages
yay -Syu xpadneo-dkms
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 "wallpaper {" > ~/.config/hypr/hyprpaper.conf
echo " monitor =" >> ~/.config/hypr/hyprpaper.conf
echo " path = /home/$(whoami)/Pictures/Wallpapers/b-257.jpg" >> ~/.config/hypr/hyprpaper.conf
echo " fit_mode = cover" >> ~/.config/hypr/hyprpaper.conf
echo "}" >> ~/.config/hypr/hyprpaper.conf
echo " " >> ~/.config/hypr/hyprpaper.conf
echo "splash = 0" >> ~/.config/hypr/hyprpaper.conf
cp ~/.cache/wal/dmenu.rasi ~/.config/rofi/dmenu.rasi
cp ~/.cache/wal/waybar-style.css ~/.config/waybar/style.css
# Setting up pywal for qutebrowser
mkdir ~/.local/share/repositories -p
mkdir ~/.config/qutebrowser -p
cd ~/.local/share/repositories
git clone https://github.com/harsh13virdi/qutewal
cd qutewal
cp ./qutewal.py ~/.config/qutebrowser/
echo "config.load_autoconfig()" > ~/.config/qutebrowser/config.py
echo "config.source('qutewal.py')" >> ~/.config/qutebrowser/config.py
exit