commit e7937a577e7790ae57b831d0bf0bdf2be4f11afd Author: skyler Date: Fri May 2 08:43:37 2025 +0800 initial commit diff --git a/go/hello b/go/hello new file mode 100755 index 0000000..90196e4 Binary files /dev/null and b/go/hello differ diff --git a/go/hello.go b/go/hello.go new file mode 100644 index 0000000..1bd51f1 --- /dev/null +++ b/go/hello.go @@ -0,0 +1,8 @@ +package main +import "fmt" +func main(){ + fmt.Println("Hello World") +} + + + diff --git a/linux/commands.md b/linux/commands.md new file mode 100644 index 0000000..e219361 --- /dev/null +++ b/linux/commands.md @@ -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 + + diff --git a/linux/current_hyprland_installation.md b/linux/current_hyprland_installation.md new file mode 100644 index 0000000..cd23ba2 --- /dev/null +++ b/linux/current_hyprland_installation.md @@ -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: +``` + + + + + 10 + + + monospace + firacode + + + +``` +``` +``` +``` +``` + +##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 diff --git a/neovim/setup.md b/neovim/setup.md new file mode 100644 index 0000000..43d2e53 --- /dev/null +++ b/neovim/setup.md @@ -0,0 +1,4 @@ +#Personal Setup Diary +install neovim as usual, pacman -S neovim + +get base plugin from lazyvim