initial commit
This commit is contained in:
commit
e7937a577e
8
go/hello.go
Normal file
8
go/hello.go
Normal file
@ -0,0 +1,8 @@
|
||||
package main
|
||||
import "fmt"
|
||||
func main(){
|
||||
fmt.Println("Hello World")
|
||||
}
|
||||
|
||||
|
||||
|
92
linux/commands.md
Normal file
92
linux/commands.md
Normal file
@ -0,0 +1,92 @@
|
||||
#Basic Commands
|
||||
##mv
|
||||
Moves file from one location to another
|
||||
|
||||
mv {current file destination} {resulting file destination}
|
||||
|
||||
|
||||
You can use it to rename files as well, by redefining the name in the command
|
||||
|
||||
mv {current file name} {new file name}
|
||||
|
||||
|
||||
Move and rename is also possible
|
||||
|
||||
mv {current file name} {new file destination/new file name}
|
||||
|
||||
|
||||
##cp
|
||||
Duplicates the file from one location to another
|
||||
|
||||
cp {current file destination} {new file destination}
|
||||
|
||||
|
||||
##mkdir
|
||||
makes a new folder with the name
|
||||
|
||||
mkdir {folder name}
|
||||
|
||||
|
||||
##rm
|
||||
rm removes files
|
||||
|
||||
rm {file name}
|
||||
|
||||
|
||||
rm -r recursively deletes everything within the directory
|
||||
|
||||
rm -r {directory}
|
||||
|
||||
|
||||
rm -f forcefully deletes regardless of permissions
|
||||
|
||||
rm -f {file}
|
||||
|
||||
|
||||
rmdir deletes directory, like rm -r
|
||||
|
||||
rmdir{directory}
|
||||
|
||||
|
||||
##touch
|
||||
updates the last edited/viewed of a file
|
||||
|
||||
touch {file}
|
||||
|
||||
|
||||
can also be used to create a new file quickly
|
||||
|
||||
|
||||
##cat
|
||||
**need to update**
|
||||
|
||||
can be used to create a new file quickly, and quickly add content
|
||||
|
||||
cat {new file}
|
||||
enter content
|
||||
ctrl-d to save and continue
|
||||
|
||||
|
||||
##&&
|
||||
chain multiple commands
|
||||
mkdir folder && cd folder
|
||||
|
||||
##$_
|
||||
represents the last argument used in a previous command
|
||||
mkdir folder && cd $_
|
||||
|
||||
|
||||
#Bash Features
|
||||
##brace expansion
|
||||
able to duplicate commands with differing arguments via string formatting
|
||||
|
||||
touch file{1,2,3}.txt creates 3 files
|
||||
|
||||
mv ./file{,.bak} moves ./file to ./file.bak
|
||||
|
||||
rm file{1,2,3}.txt
|
||||
|
||||
It is also able to do nested range,
|
||||
touch file{1,2}{a,b}.txt creates file1a.txt file1b.txt file2a.txt file2b.txt
|
||||
|
||||
|
140
linux/current_hyprland_installation.md
Normal file
140
linux/current_hyprland_installation.md
Normal file
@ -0,0 +1,140 @@
|
||||
#Introduction
|
||||
This is a readme(more of a diary) for the current hyprland setup for my personal computer, how it was made, and what I have learned
|
||||
|
||||
|
||||
#Base install
|
||||
Use Archinstall, with default hyprland profile, it should come with qt5 and qt6, gtk3 and gtk4 is needed for a desktop environment, but not sure it is installed by default
|
||||
|
||||
|
||||
kitty for the terminal emulator, ly for login manager(to avoid wallet problems later on, session manager is preffered to be installed here)
|
||||
|
||||
pipewire for audio server
|
||||
|
||||
For convenience, since I use Nvidia cards, the archinstall uses dkms drivers when using the proprietary settings, however the setup might be scuffed, so there is a need to check for the following post install
|
||||
|
||||
|
||||
uvsm is currently scuffed in my current setup, so I do not know of a solution yet, but it is preinstalled with the Hyprland profile, just select the default hyprland session in ly instead of uvsm
|
||||
|
||||
|
||||
#Post Install
|
||||
##Nvidia
|
||||
First thing to check after archinstall is if Hyprland can be started, if it does, then check the following for nvidia
|
||||
|
||||
|
||||
-/etc/mkinitcpio.conf
|
||||
-MODULES=() containing:
|
||||
-nvidia
|
||||
-nvidia\_modeset
|
||||
-nvidia\_uvm
|
||||
-nvidia\_drm
|
||||
-HOOKS=() removing:
|
||||
-kms
|
||||
-/home/user\_name/.config/hypr/hyprland.conf
|
||||
-env = LIBVA\_DRIVER\_NAME,nvidia
|
||||
-env = \_\_GLX\_VENDOR\_LIBRARY\_NAME,nvidia
|
||||
|
||||
|
||||
I would also uninstall the dkms driver and replace it with the normal nvidia driver, after that, install the following:
|
||||
|
||||
|
||||
install nvidia-utils and egl-wayland
|
||||
install lib32-nvidia-utils if gaming, after allowing multilib repository
|
||||
|
||||
|
||||
##Package manager
|
||||
install yay, because I use yay
|
||||
|
||||
|
||||
multilib repository should be enabled during archinstall
|
||||
|
||||
|
||||
add a pacman hook by creating a new file /etc/pacman.d/hooks/nvidia.hook with the following code:
|
||||
```
|
||||
[Trigger]
|
||||
Operation=Install
|
||||
Operation=Upgrade
|
||||
Operation=Remove
|
||||
Type=Package
|
||||
# You can remove package(s) that don't apply to your config, e.g. if you only use nvidia-open you can remove nvidia-lts as a Target
|
||||
Target=nvidia
|
||||
Target=nvidia-open
|
||||
Target=nvidia-lts
|
||||
# If running a different kernel, modify below to match
|
||||
Target=linux
|
||||
|
||||
[Action]
|
||||
Description=Updating NVIDIA module in initcpio
|
||||
Depends=mkinitcpio
|
||||
When=PostTransaction
|
||||
NeedsTargets
|
||||
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
|
||||
```
|
||||
|
||||
run full system update and restart pc while doing this
|
||||
|
||||
##Custom Hyprland Config Setup
|
||||
First create a config file in the desired directory, simply copy and paste from the default config file under .config/hypr/hyprland.conf
|
||||
|
||||
With ly, it is most likely that it is using a .desktop file to execute hyprland by default, so we go to /usr/share/wayland-sessions/hyprland.desktop and edit the Exec line as such:
|
||||
```
|
||||
Exec=Hyprland -c /yourcustomdirectory/hypr/hyprland.conf
|
||||
```
|
||||
|
||||
Restart the PC and the new config file will be used
|
||||
|
||||
##Hyprland Components
|
||||
|
||||
notification daemon = mako
|
||||
desktop portal = xdg-desktop-portal-hyprland
|
||||
xwayland screensharing compat = xwaylandvideobridge
|
||||
auth-agent = hyprpolkitagent
|
||||
qt-libraries = qt5-wayland, qt6-wayland
|
||||
gtk-libraries = gtk3, gtk4
|
||||
|
||||
status-bars = waybar, need to install otf-font-awesome as well for logos
|
||||
wallpaper daemon = swww
|
||||
wallpaper manager = waypaper
|
||||
app launcher = wofi
|
||||
clipboard manager = clipse
|
||||
network manager = nmtui
|
||||
file manager = dolphin
|
||||
text editor = nvim
|
||||
browser = chromium with vimium
|
||||
screenshot = hyprshot
|
||||
|
||||
|
||||
need to add ```exec-once=waypaper --restore``` to allow for the wallpaper to exist after restart
|
||||
|
||||
|
||||
##fonts
|
||||
after downloading otf-font-awesome you might see that your fonts are fucked,you can use this opportunity to download a new font and use it:
|
||||
yay -S ttf-fira-code
|
||||
mkdir ~/.config/fontconfig
|
||||
touch fonts.conf
|
||||
with the following code:
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<match>
|
||||
<edit name="pixelsize"><double>10</double></edit>
|
||||
</match>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer><family>firacode</family></prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
||||
```
|
||||
```
|
||||
```
|
||||
```
|
||||
```
|
||||
|
||||
##Chinese-Japanese-Korean(cjk) fonts
|
||||
yay -S adobe-source-han-sans-otc-fonts
|
||||
|
||||
##docker
|
||||
yay -S docker
|
||||
sudo systemctl enable docker.server
|
||||
sudo usermod -aG docker $USER
|
4
neovim/setup.md
Normal file
4
neovim/setup.md
Normal file
@ -0,0 +1,4 @@
|
||||
#Personal Setup Diary
|
||||
install neovim as usual, pacman -S neovim
|
||||
|
||||
get base plugin from lazyvim
|
Loading…
x
Reference in New Issue
Block a user