initial commit

This commit is contained in:
skyler 2025-05-02 08:43:37 +08:00
commit e7937a577e
5 changed files with 244 additions and 0 deletions

BIN
go/hello Executable file

Binary file not shown.

8
go/hello.go Normal file
View File

@ -0,0 +1,8 @@
package main
import "fmt"
func main(){
fmt.Println("Hello World")
}

92
linux/commands.md Normal file
View 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

View 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
View File

@ -0,0 +1,4 @@
#Personal Setup Diary
install neovim as usual, pacman -S neovim
get base plugin from lazyvim