Skip to content

beemarsh/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

New DOCS (HyPRLand)

Currently using this theme (HyDE): https://github.com/HyDE-Project/HyDE

There are some tweaks that I did with keybindings and maybe something else as well in /.config/hypr

Welcome to my setup!

Desktop Preview

Hi! I have configured the code for Arch on a HiDPI display. You can configure it according to your needs.

X not Wayland

I chose X because I found it easy to configure with Nvidia drivers.

Window Manger

Ly

I have used Ly window manager. It is a lightweight window manager with console UI. You can install it using from the repo.

After installing Ly, enable it using systemctl.

sudo systemctl enable ly.service

I am using Ly only for login. I am using I3 tiling window manager for general purpose after login.

I3

The setup for I3 is pretty simple. Install i3-wm package from the repo and copy the files configuration files to .config/i3/config. To use my I3 configuration, you will need following programs or modules.

Enable Tap to Click on Touchpad

As described in the Arch Wiki, I had to use libinput. X already has libinput by default. So, I installed xf86-input-libinput and xorg-xinput.

After installing, restart the device.

Then type this in the terminal.

xinput list

It will print a list of devices like this.

Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SYNA2BA6:00 06CB:CEC0 Mouse             	id=10	[slave  pointer  (2)]
⎜   ↳ SYNA2BA6:00 06CB:CEC0 Touchpad          	id=11	[slave  pointer  (2)]
⎜   ↳ GXTP7936:00 27C6:0123                   	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Video Bus                               	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]

The ID of touch pad is 11. To view, the props type:

xinput list-props 11

It will output something like this:

Device 'SYNA2BA6:00 06CB:CEC0 Touchpad':
	Device Enabled (171):	1
	Coordinate Transformation Matrix (173):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (327):	0
	libinput Tapping Enabled Default (328):	0
	libinput Tapping Drag Enabled (329):	1

Here, the Tapping is disabled as it is set to 0.

To enable tapping, type:

xinput set-prop 11 327 1

Note: Make sure you do this everytime you start the X server or put it somewhere in the window manager config. I have put it in i3 config.

Audio Setup

I setup my Sound System as described in the Arch Wiki. I installed PulseAudio sound server and other extra pulseaudio modules like pulseaudio-alsa and pulseaudio-bluetooth.

Microphone setup

It is the same as audio setup. For a GUI based interface, I installed PulseAudio Volume Control.

Bluetooth Setup

Follow the Arch Wiki. I installed bluez and bluez-utils packages. For GUI, I installed blueman.

Notification Setup

Install dunst package. The configuration for dunst is in .config/dunst/dunstrc

Charging Notification

Open the script in .local/bin/chargingnotify. Change the parameters accordingly. The DBUS_SESSION_ADDRESS might be different.

To get the battery levels, you might have to change the device name. For me, its BAT0. Check using the following command:

ls -a /sys/class/power_supply

Check the script and after it works properly, you have to setup udev rules.

In /etc/udev/rules.d/charging.rules, put the following code.

# Rule for when switching to battery
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/iambee/.Xauthority" RUN+="/usr/bin/su iambee -c '/home/iambee/.local/bin/chargingnotify 0'"

# Rule for when switching to AC
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/iambee/.Xauthority" RUN+="/usr/bin/su iambee -c '/home/iambee/.local/bin/chargingnotify 1'"

Reload udev rule using:

sudo udevadm control --reload-rules

Remember to change the attributes and values based on your device. The attributes might be different. To check the attributes for a device use the following

sudo udevadm info -a /sys/class/power_supply/ADP0

Low Battery and Full Battery Notification

The script for battery notification is in .local/bin/batterynotify. Then, you have to make systemctl services and timers. They are available in ~/.config/systemd/user/. After putting the services and timers in place, load and start it.

systemctl --user daemon-reload
systemctl --user enable --now alert-battery.timer

# Optionally check that the timer is active
systemctl --user list-timers

Screen Lock and Lid Close

I have used xsecurelock for screen locking. I have made a systemd service to lock before the lid closes. However, it should also be done by xss-lock as already coded in i3 config.

I have added the following code in /usr/lib/systemd/system-sleep/xsecurelock and marked the file as executable. This will ensure that it will lock before suspend/hibernate. The process is described in Github link: xsecurelock

#!/bin/bash
if [[ "$1" = "post" ]] ; then
  pkill -x -USR2 xsecurelock
fi
exit 0

For automatic locking, I used xss-lock and added the following code to i3 config.

exec --no-startup-id xset s 300 5
exec --no-startup-id xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock

Note: Make sure to disable secure boot on windows if dual boot. It caused problem during shutdown and recovery from suspend.

Taking Screenshot

I used maim for screenshot. The screenshot script is written in .local/bin/screenshot. The keybindings are available in the i3 config file.

Vim and NeoVim

Neovim

Plugin Manager: lazy.nvim

Package to Install:

There may be other requirements. Just install them if any error pops up

Plugins:

Common Applications

Some Issues

  • Firefox cannot save files

Change ownership of the directory. It might be set to root. Change ownership using chown to current user

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors