https://github.com/JaKooLit/Ja_HyprLanD-dots
https://github.com/linkfrg/dotfiles
https://discord.com/channels/961691461554950145/1230259386535120926
To add ssh support for ease of use to login and use github, first do the following.
ssh-keygen -t ed25519 -C "your_email@example.com"
This will generate an id_rsa and id_rsa.pub files in the ~/.ssh folder.
Then run these two commands:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/whatever-you-named-id_rsa
Then copy the public ~/.ssh/id_rsa.pub
and open a browser and go to github.com > settings > ssh and gpg keys > new ssh key and paste the
public id rsa in there.
Now you can clone and use any repos you have.
NOTE: when cloning, use the ssh option when you press on "Code". NOTE: If you have multiple ssh keys, make a "config" file (just name it config in ~/.ssh), and put the following per account
# Personal
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
If dual booting, make sure to have windows's Bitlock password. Then go to bios and remove secure boot keys (aka put into setup mode) Then do the following:
sudo pacman -S sbctl
sudo sbctl status # Make sure you are in setup mode
sudo sbctl create-keys
sudo sbctl enroll-keys -m
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
sudo sbctl sign -s <path-to-kernel> # path to kernel for me was /boot/vmlinuz-linux-lts
sudo sbctl sign -s <path-to-boot-manager> # path to boot manager for me was /boot/efi/EFI/GRUB/grubx64.EFI
sudo sbctl verify # make sure it's all green
Article for configuring HiDPI displays on high-end laptops. https://wiki.archlinux.org/title/HiDPI
Add the following to /etc/X11/xorg.conf.d/30-touchpad.conf for natural scrolling
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "NaturalScrolling" "true"
EndSection
Set in ~/.local/bin/apply-settings
xdg-settings set default-web-browser brave-browser.desktop
xdg-mime default $file_explorer.desktop inode/directory
xdg-mime default org.gnome.Loupe.desktop image/png
xdg-mime default org.gnome.Loupe.desktop image/jpg
xdg-mime default org.gnome.Loupe.desktop image/jpeg
sudo ln -s /usr/bin/$emulator /usr/bin/xdg-terminal-exec
gsettings set org.gnome.desktop.default-applications.terminal exec $terminal
Start samba/smb service (also remember to turn off ufw)
sudo ufw disable
sudo systemctl start smb
https://gist.github.com/brunoanc/2dea6ddf6974ba4e5d26c3139ffb7580
https://mathjiajia.github.io/vscode-and-latex/
To check which apps are running on XWayland, run xlsclients
or xeyes
To force an app to use wayland, add this line to the "exec" option of the app
found in either /usr/share/applications
or /usr/share/local/applications
:
--enable-features=UseOzonePlatform --ozone-platform=wayland
If the system clock is messed up, run the following to enable network based time
sudo timedatectl set-ntp 1
Connect to WiFi automatically with nmcli
nmcli connection modify SSID connection.autoconnect yes
Connecting to eduroam: go to https://cat.eduroam.org/ select the university/college you go to and download the executable python script. run it, and try to connect now (I had success with nmtui).
Run apps as sudo on hyprland
xhost si:localuser:root
xhost | DISPLAY=:0 sudo command
If having issues with updating packages with pacman, or if you're getting keyring/"unkown trust" issues,
do the following
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman -S archlinux-keyring
Use fbgrab <image>.png
to take a picture of the tty
Use mpv <video or image or url>
to view videos or images (this works on the tty as well).
Can use timg
if tty is iffy.
Use yt-dlp <url>
to download any video online (including YouTube).
If you're having trouble try restarting postgresql, or reininstalling it.
You can also nuke the folders containing postgres (WARNING: this will remove everything!!!).
sudo rm -rf /var/lib/postgres/
Switch to the postgres user
sudo su postgres
Then make a new user (call it the same as your main user's name)
createuser --interactive
Exit
To make a new database:
createdb <db-name>
You can also use -h
-p
Connect to it:
psql -d boomerang
Downloads fonts into either /usr/share/fonts or .local/share/fonts use sudo fc-cache -fv to install all fonts use fc-list to list the installed fonts fc-list : family style edit .config/fontconfig/fonts.conf to use different fonts: https://www.baeldung.com/linux/configure-multilingual-fonts
wifi icons: https://www.figma.com/file/eJgx1YTG2WdQ41B1fZ2wd8/Wifi?type=design&node-id=0%3A1&mode=design&t=Rfg5ME7eZDOHPh7k-1 https://www.iconfinder.com/search?q=wifi&iconset=phosphor-bold-vol-4
volume icons: https://www.iconfinder.com/search?q=volume&family=ionicons-fill
Good icons: https://icons8.com/icon/86864/audio
Cursor theme from KDE Store Bibata-Modern-Ice https://store.kde.org/p/1197198
Download the aesthetic file and use grub-customizer to load it https://www.gnome-look.org/p/2142488
Add windows 11 to grub https://askubuntu.com/questions/1425637/how-can-i-add-windows-11-to-grub-menu
control + h or control + l -> switch between editor and file manager
control + b -> toggle file manager
control + j -> open terminal
tab -> switch between tabs
If the drivers are not working, make a file /etc/modprobe.d/nvidia.conf
and put the following in it:
options nvidia_drm modeset=1 fbdev=1
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
and /etc/modprobe.d/blacklist.conf
blacklist nouveau
options nouveau modeset=0
Suspense issues: Run the script at .local/bin/nvidia-suspense
Switching between integrated and hybrid in nvidia: https://www.reddit.com/r/rogflow/comments/ri9mf5/making_dgpu_enablingdisabling_on_linux_work_on/
Nvidia drivers on wayland: https://comfy.guide/client/nvidia/
Apps (chromuim and electron based usually) openening slowly: https://wiki.archlinux.org/title/Vulkan#AMDGPU_-_Vulkan_applications_launch_slowly
Installing (older) drivers https://github.com/Frogging-Family/nvidia-all.git
Run lspci -nn
you can also use grep to filter. lspci -nn | grep NVIDIA
.
Note the values inside brackets [] at the end.
Grab the card's id as well as the video device's id associated with it.
Go to /etc/modprobe.d/
and make a file vfio.conf
(or whatever else you'd like)
Paste the following into it:
options vfio-pci ids=10de:2520,10de:228e
softdep nvidia pre: vfio-pci
Replaces ids with your card's ids.
Run sudo mkinitcpio -P
To check if you're in vfio mode, run lspci -k | grep NVIDIA -A3
And see if the "kernel in use" is set to "vfio-pci"
To better run games on steam, the following settings can be changed located in (gear icon in any game) > properties > general > launch options
Generally I use gamescope and gamemoderun to solve common issues:
gamescope -W 1920 -H 1080 -r 144 -- gamemoderun %command%
Games with easy anti-cheat https://www.reddit.com/r/linux_gaming/comments/1cvrvyg/psa_easy_anticheat_eac_failed_to_initialize/
Plants Vs Zombies: Fix for slow animation during plant select https://www.protondb.com/app/3590#dYYLZr30F2
Overwatch 2:
Proton 9.0-4
gamemoderun %command%
8000
LD_PRELOAD="" DXVK_HUD=compiler PULSE_LATENCY_MSEC=60
The Witcher 3:
Experimental
gamemoderun %command% --launcher-skip
Marvel Rivals:
Proton GE
gamemoderun %command% LD_PRELOAD="" force_vk_vendor=-1 -dx12 -ngxdisableota
Limbo (Controls don't work because of screen being 144hz):
gamescope -W 1920 -H 1080 -r 60 -- gamemoderun %command%
This is to have notifications when the battery hits a certain percent, to tell you to plug the power.
Go in /etc/udev/rules.d and create two files. (replace USERNAME with your username). This will make sure to give notifications whenever a device is plugged or unplugged in (as well as charging/discharging).
power.rules:
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/USERNAME/.Xauthority" RUN+="/usr/bin/su USERNAME -c '/home/USERNAME/.local/bin/battery-charging discharging'"
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/USERNAME/.Xauthority" RUN+="/usr/bin/su USERNAME -c '/home/USERNAME/.local/bin/battery-charging charging'"
usb.rules:
ACTION=="add",SUBSYSTEM=="usb",ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/USERNAME/.Xauthority" RUN+="/usr/bin/su USERNAME -c '/home/USERNAME/.local/bin/usb-notify 1 %E{DEVNAME}'"
ACTION=="remove",SUBSYSTEM=="usb",ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/USERNAME/.Xauthority" RUN+="/usr/bin/su USERNAME -c '/home/USERNAME/.local/bin/usb-notify 0 %E{DEVNAME}'"
Install pass
sudo pacman -S pass pass-otp
Plugin for firefox
sudo pacman -S passff-host
curl -sSL https://codeberg.org/PassFF/passff-host/releases/download/latest/install_host_app.sh | bash -s -- librewolf
Run this to first see a list of keys
gpg --list-keys
Then find the one that you need (usually the email you used to make the keys)
Then copy the line under pub.
Eeport public key.
gpg --export -a KEY_HERE > subkey.pub
Export private key
gpg --export-secret-subkeys -a KEY_HERE > subkey
To connect to a specific country, you must specify it in the "ExitNodes" like this:
EntryNodes {ca} StrictNodes 1
ExitNodes {it},{de} StrictNodes 1
Add this to "torrc" file, in windows it is located in the default tor folder and in linux it is in /etc/tor/torrc-defaults
1 means it is forced
0 means it can also use other nodes, if they one specified does not work.
In windows go to internet options > connections > LAN settings > Advanced and make sure "Use the same proxy server ..." is checked off, then delete everything and add this to socks (last option): socks: localhost port: 9050
Nord
--nord0: #2e3440;
--nord1: #3b4252;
--nord2: #434c5e;
--nord3: #4c566a;
--nord4: #d8dee9;
--nord5: #e5e9f0;
--nord6: #eceff4;
--nord7: #8fbcbb;
--nord8: #88c0d0;
--nord9: #81a1c1;
--nord10: #5e81ac;
--nord11: #bf616a;
--nord12: #d08770;
--nord13: #ebcb8b;
--nord14: #a3be8c;
--nord15: #b48ead;
Nord modified by me
$nord0: #2e3440;
$nord1: #3b4252;
$nord2: #434c5e;
$nord3: #4c566a;
$nord4: #d8dee9;
$nord5: #e5e9f0;
$nord6: #eceff4;
$nord7: #8fbcbb;
$nord8: #88c0d0;
$nord9: #81a1c1;
$nord10: #5e81ac;
$nord11: #bf616a;
$nord12: #d08770;
$nord13: #ebcb8b;
$nord14: #a3be8c;
$nord15: #b48ead;
One dark
[colors]
# special
foreground = #abb2bf
foreground_bold = #abb2bf
# cursor = #111111
background = rgba(16, 16, 16, 0.9)
# black
color0 = #282c34
color8 = #5c6370
# red
color1 = #e06c75
color9 = #be5046
# green
color2 = #98c379
color10 = #7a9f60
# yellow
color3 = #e5c07b
color11 = #d19a66
# blue
color4 = #61afef
color12 = #3b84c0
# magenta
color5 = #c678dd
color13 = #9a52af
# cyan
color6 = #56b6c2
color14 = #3c909b
# white
color7 = #abb2bf
color15 = #828997