• 1 Post
  • 20 Comments
Joined 1 year ago
cake
Cake day: July 11th, 2024

help-circle

  • Finally managed to enable VSCode extensions without doing it imperatively or using home manager I’m so happy I could cry 😭 😭 😭

    It actually wasn’t even that bad, I’m just terrible at understanding documentation I guess

    	(vscode-with-extensions.override {
    		vscodeExtensions = with vscode-extensions; [
    			bodil.blueprint-gtk          # Gtk Bluprint language support
    			ms-vscode.makefile-tools     # Makefile language support
    			bbenoist.nix                 # Nix language support
    			ms-python.python             # Python language support
    			naumovs.color-highlight      # Color Highlight
    			ms-azuretools.vscode-docker  # Docker
    			donjayamanne.githistory      # Git History
    			seatonjiang.gitmoji-vscode   # Gitmoji
    		];
    	})
    











  • I’ve been stuck on Nix for two weeks because I thought it would be a good idea to put a distro I had never used but that wouldn’t break on my backup laptop in case my main one ever broke. I just couldn’t force myself to install debian, not that I have anything against debian, it’s just… kinda boring, while Nix seemed very interesting. IT SEEMED LIKE A GOOD IDEA AT THE TIME I SWEAR.

    Guess what happened… I broke Arch. Then I reinstalled and the next day the laptop broke. Then the next day I tried to get my data back and the hard drive broke. So, backup laptop with Nix for two weeks…

    • I really really really like the declarative stuff. Installing packages through config files is so nice I’ll never lose track of what I’ve installed ever again 🥰 🥰 🥰 I was already using a git repo for all my config files + GNU Stow to symlink everything to its proper place, so adding the .nix configs to that setup was very easy.
    • Having a clean system on rebuild is great. No more clutter left everywhere that I don’t know about, no more half broken stuff left lying around.

    But…

    • It’s not Arch. Not Nix’s fault, but I kept hearing that it would be “like Arch but declarative”… and it’s really not 😑 Everything seems over-complicated vs as simple as possible.
    • I absolutely hate the language.
    • What’s with those error messages from hell???
    • And speaking of hell, every language that can’t just use indentations like YAML instead of cluttering the code with {} and [] and () should have been relegated to the darkest pit of hell 20 years ago. But points to Nix for being less awful than JSON (the comma on every line but not the last thingy make me want to build a time machine to go murder the grandparents of whoever thought it was a good idea)
    • Packages are out of date even in the unstable branch (I know it’s unfair since it’s not trying to be a rolling release… but… but…)
    • Where are the source packages? Is that an Arch only thing? I liked having packages that automatically use the latest git commit without needing to manually install from source and manually reinstall each time I want an update like a medieval peasant… 😭
    • Nix packages are weird. Even someone who’s terrible at coding like me can read Arch PKGBUILDS… I miss you Arch 😢
    • Apps not working because of paths that don’t exist on Nix… what do you mean I need to patch the package myself? 😭 But at least there’s steam-run, great preserver of what’s left of my sanity.
    • Can’t wrap my head around installing some stuff like VSCode extensions (the advice I got was "don’t bother just do it imperatively…) (Edit: Finally figured it out!!!)
    • Wiki is often sparse on info and not very helpful if you don’t already know what you are doing (and I clearly don’t 😅)
    • Hidden configs. Some stuff works on its own like pipewire even though I haven’t installed or configured it (I went with a minimal install that just gave me a tty then build from there, no DE), and how it’s already configured is not in the default config files. It’s very confusing not knowing why some stuff works and how it’s configured by default.

    But it’s kinda growing on me. Like mold. Or cancer. Brain cancer.




  • alias nmtui="NEWT_COLORS='root=black,black;window=black,black;border=white,black;listbox=white,black;label=blue,black;checkbox=red,black;title=green,black;button=white,red;actsellistbox=white,red;actlistbox=white,gray;compactbutton=white,gray;actcheckbox=white,blue;entry=lightgray,black;textbox=blue,black' nmtui"

    It’s nmtui but pretty!




  • GNU Stow, definitely. I can’t stress enough how wonderful this app has been for my sanity. I use it to manage my dotfiles and personal data.

    I made one dotfiles folder, which contains home, etc and usr subfolders. I put all my configs in it (dotfiles, themes, custom keyboard layouts, etc) in the relevant subfolders, then with Stow I symlink dotfiles/home to /home/username, dotfiles/etc to /etc and dotfiles/usr to /usr, and poof symlinks are created for everything in it. That way all my configs are in one folder, I can sync it to my NAS easily, make it a git repo for version control, and even upload it to github. It’s amazing 🥰 I also made a personal folder which contains Documents, Pictures, Videos, etc, all symlinked to /home/username/Documents and such, so I only have one folder to back up for my personal data. Yes I’m very lazy and hate doing backups 😅

    Rofi (or here for the X11 version) : It’s the best app launcher by miles, even if I used a DE I’d still use rofi. But I also use it for a lot of other stuff that it’s much less well known for: the run mode for launching scripts and other executables, the ssh mode for ssh, rofi-calc for a very light and fast calculator that understand natural language, rofi-games as a games launcher, rofi-emoji as emoji selector… Rofi is life, rofi is love, rofi is God.

    Libation to liberate audiobooks from Audible. There’s tons of apps to download and un-DRM your files from various platforms, but most only work on Windows. This one does work on linux 🥳

    Lots of self-hosted apps for my media server, but they are all pretty well known (Jellyfin, Audiobookshelf, Komga) except maybe Suwayomi Server for manga (it can sync progress to AniList, and there are plugins to enable downloading from online manga reading sites)

    ani-cli for watching anime because I’m a crazy person who grew up with MS-DOS and TUI apps make me happy. Also it’s often more convenient than having to check ten different websites to find the one anime you want to watch only to discover that half of them have been taken down.

    yt-dlp to download videos from YouTube. I use wrapper scripts to make it more convenient to use because I’m lazy, but it’s great.