NomoLabs 🌸

Blogs

#setup #Index

In this document I just go over the Software that I use across different operating systems. I try to keep consistency between systems so I keep most software the same. However there are always some software exclusive to a certain OS so I have linked those below.

To keep most of my software consistent I use Nix/NixOS.

On windows I use NixOS for WSL, so it's pretty much the same experience as linux terminal wise. I do install fd/ripgrep on windows though since I still need to use powershell occasionally.

MacOS I use nix darwin, so again the terminal experience is essentially the same, minus some packages that don't exist on darwin.

My Linux distro is NixOS, really tuned for productivity, still kind of janky which linux is sometimes. But I really wish I could bring niri to windows/mac since it feels so much better than the way MacOS/Windows handles that.

Specific software for OS's

Cross platform Software

Applications

Software that I have across all 3 platforms

VScode

Text editor, not always what I use (neovim being the other one), but does excel in certain tasks and there's basically a plugin for everything.

Calibre

What I use to manage books, syncs with my kobo, kind of feels clunky, but I haven't found really anything as featureful and good.

Obsidian

How I manage notes, I used to use orgmode, which I honestly still think is better. However the main issue is mobile, which is where I refer/edit my notes to sometimes. Obsidian does well in this area. But it's also not open source either, so I do want to shift out of Obsidian. At the very least it does use markdown as it's format of choice so I can transfer it elsewhere.

Anki

Flashcards, but it's actually pretty goated software, almost like cheating getting information into your brain, although sometimes it does not feel that way.

Netbird

Like tailscale but open source, that being a VPN that I set up for myself so I can connect to my servers without exposing anything to the scary internet.

Browsers

I kind of hate using more than one browser, but sometimes some websites don't work well on firefox based ones (even if I send a chrome useragent)

I have a list of Browser Extensions that I use per browser.

Floorp (Firefox browser)

Most featureful firefox browser i've found, can even (limitedly) run chrome extensions. I use Natsumi which makes my floorp more pretty

Vivaldi (Chromium browser)

Vivaldi is the most featureful chrome browser i've found. There is one part that kind of drives me insane though, which is that when I set up a custom search engine I cannot use <custom search> TAB "my search" it's <custom search> SPC instead, minor complaint, but I'm so used to the other method for my other browsers that it's engrained into me, and as far as I'm aware I cannot change this behavior.

Orion (Webkit browser)

I primarily use this on my Mac, still has a long ways to go (and also not open source) but can use both chrome and firefox extensions, feels really fast too. I have high hopes for this browser.

Terminal Applications

Atuin

Shell history, shows up as a list <tab> to put command down for editing and <enter> to run the command. One of my favorites. Pasted image 20260420184217.png

Bandwhich

Like task manager except for network related stuff. Can see what's eating your bandwidth

Bat

an alternative to cat, comes with syntax highlighting and a few other features.

Bottom

View information about cpu, disks, network, memory, etc. An alternative to htop Pasted image 20260420184401.png

ffmpeg

Video tool, can do a ton of different things, I usually use to grab certain things from video files or stitch pictures into a video. But can do a lot more.

fd

like the find command, but I think it has sane defaults. Finds files for you

fzf

fuzzy finder, not too crazy in itself, but works well when mixing the output of other programs to.

Git

Version control, have been considering trying jujutsu though as a new way of managing changes.

jq

json processor, though I don't use it as much since xonsh kind of lets me use the python object, for it. Still useful sometimes though

pandoc

Document converter, can convert into a lot of different formats

pass

Password manager, most useful when setting up environment variables, you can set it to use pass for it. That way I can keep my secrets all in one place, and not completely be scared that I committed something bad.

procs

a ps alternative Pasted image 20260420184505.png

rclone

pull data from cloud services

rink

Unit converter, based off of frink, but made in rust instead

ripgrep

grep but better pretty much in every way

rsync

sync data across remote machines, done over ssh, slightly slower than rclone, but can do more.

syncthing

File sync between devices

tealdeer

man pages but shorter, I prefer to use this first if I just need to get something working quickly.

tio

Serial tty tool

tokei

Count lines of code in a folder, I guess not entirely too useful but it's there

trippy

like traceroute and ping were combined together

Visidata

Terminal spreadsheet tool.

watchexec

run commands when files change, like a log or something.

wget

download files from the internet.

yazi

Terminal file manager Pasted image 20260420184600.png

yq

jq but for yaml

yt-dlp

tool to download videos, not just youtube though

zellij

Terminal multiplexer, an alternative to tmux, really nice to use and has more sane defaults.

zoxide

a smarter cd, jumps to a directory based on frequency and some other heuristics, can match partially, very nice program.

Neovim

text editor that I use, used to use emacs, I miss it sometimes, but I got most of the functionality I wanted (I never really used lisp) my configuration is here

Software Setup

#builds #3dprinting

Final Result

2026-04-19_Kumiko_lamp_final_0.jpeg

Party mode

Background

Kumiko is a very old Japanese woodworking technique that began around the 8th century. It is composed of geometric shapes that can make for some pretty cool designs. I am 3d printing them here because firstly it's pretty easy and secondly because real Kumiko builds cost way more than I'd typically ever want to pay for, which is understandable why it's so expensive given the intricate patterns and the labor it would take to produce.

The model I used: https://makerworld.com/en/models/1358686-customizable-kumiko-lantern-lamp-by-foxwood#profileId-1402877

Materials

Filaments

Parts

Item Cost
PLA Rosewood filament $24.99
PLA Matte Latte Brown $12.99
PLA Matte Ivory White $12.99
E27 Socket $3.42
BT3 Button Head Cap Self Tapping Screw (BHCS) $1.07
Phillips Hue Bulb 2 pack $71.99
Total $127.45
Total without bulbs $55.46

Probably not necessary to go with the rosewood filament. I just liked the color more, so I went with that. You can also use whatever lightbulbs, but I like the hue ones for my automations that I have set up, and for the fact that it uses Zigbee.

Also the bulbs I have are E26, but the socket mentions its compatible with both ¯\_(ツ)_/¯

The Build

The Parts

*Ashanoa (the three pronged inserts) count is not accurate in photo

2026-04-19_Kumiko_lamp_parts_1.png

The Walls

You can basically design any pattern you want. There’s this website https://www.kumikodesigner.com/ that will generate patterns for you, but in my case, I'm just going to use the one that's already in the 3d print, as well as using the same angled design.

The amount of triangles that are in each wall are 35 (height) x 10 (length)

If you want to do the same angled pattern, either start on the 15th triangle down or the 21st up, and then go down in a staircase subtracting 3 triangles down each time in a staircase until you place 3 (or 7 across).

2026-04-19_Kumiko_lamp_build_wall_2.png

You will need 672 Ashanoas in total (84 for every diagonal)

I didn't count them I just did

>>> from functools import reduce
>>> reduce(lambda a,b: a + (b*3), range(1,8),0)
84

>>> _ * 2 * 4 # _ <- means to use last result, which in this case is 84
672

Because I am lazy. There is probably a more elegant way of figuring that out, but I'm only going to be doing that calculation once.

Once you have one wall panel complete, it's pretty easy to complete another one just by laying it on top of it and copying the layout.

EF8EC401-E6F7-4B8C-8356-F6C8F3377091_1_105_c.jpeg

⚠️ Warning: Once you create two of an identical panel, you will need to create 2 more that have the diagonals on the opposite side. They will not be the same when rotated.

Pasted image 20260419170752.png

The Frame

The rest is pretty straightforward, so it will mostly just be pictures here.

Pasted image 20260419165158.png Put the socket in the large block, and make sure to screw on the overhang piece. Then connect four screws to the main frame from the top into the block.

Pasted image 20260419171111.png

Make sure when screwing in, that it becomes flush with the block. Might seem like it won't be able to, but eventually it will.

Once that is complete, I flip the lamp over and attach the stand.

Pasted image 20260419171408.png

There are four more screws to screw in here. same deal as before with making sure it is flush. I believe this is also where the four pegs go in as well, but I didn't want to do that here so I did not insert them. If only because I like the look of this better

891EED39-80F5-42AE-99CF-0A06365C0893_1_105_c.jpeg

Once that is done, all that's really left is to put in the light bulb, the shade, and the walls in and screw the top.

As a note , the shade is just fit in loosely and can be taken out and put back really easily.

Pasted image 20260419171744.png

Screw in the four corners of the top (this might require a bit more work than the other ones), and tada!

332ABFDB-FC40-42CC-A458-5CE576E06473_1_102_o.jpeg

You got yourself a pretty cool lamp

10CF68F6-8F09-4B77-91CA-1FA63CC9E723_1_105_c.jpeg

A picture of my cat for the road.

Kumiko Lamp Build Log

#setup #windows

Windows is what I typically just use for gaming and some general stuff, only one of my computers actually runs windows, definitely recommend setting up WSL for it


WSL

Since I run NixOS I use https://github.com/nix-community/NixOS-WSL

Following which I setup an SSH key and clone this repo (my nix config) git clone git@github.com:rft/nix-config.git

git will likely be missing from a fresh NixOS install, you can add git temporarily with nix quite easily with nix shell nixpkgs#git

after it has been cloned I run sudo nixos-rebuild switch --flake .#mistletoe "mistletoe" being what I defined my WSL host as.


Windows Software

Software list

  • Powershell
  • Everything
  • windirstat
  • Executor
  • Blackblaze
  • Prism Launcher
  • wootility
  • Air screen mirroring
  • Bambu Studio
  • Naps2
  • Raindrops
  • Autohotkey
  • mpv.net
  • lossless cut

Powershell

If you want to keep your sanity on windows use powershell, makes you feel more at home if you are used to bash, no longer will you type "ls" and be rejected by windows for not typing "dir" instead

In some ways it's actually better than bash, since it lets you move objects down the pipeline, but given the option I am usually in WSL instead, still though it's not too bad, and becomes really nice with the extensions listed later below.

Powershell is usually installed by default, but with whatever version on windows it can be quite old, so I would suggest you get the latest elsewhere. It should be available via winget or on the appstore

winget install -e --id Microsoft.PowerShell

Everything

Executor

  • Might be marked as a virus (allow through defender)
  • make sure to mark launch on startup
  • Change keybind to win + alt + A

Quick install via winget

winget install --id=Obsidian.Obsidian  -e
winget install --id=Valve.Steam  -e
winget install --id=Discord.Discord  -e
winget install --id=Spotify.Spotify  -e
winget install --id=Flameshot.Flameshot  -e
winget install --id=WerWolv.ImHex  -e
winget install --id=calibre.calibre  -e
winget install --id=SolveSpace.SolveSpace  -e
winget install --id=Cockos.REAPER  -e
winget install --id=Audacity.Audacity  -e
winget install --id=Cyanfish.NAPS2  -e
winget install --id=AutoHotkey.AutoHotkey  -e
winget install --id=RustemMussabekov.Raindrop  -e
winget install --id=BlenderFoundation.Blender  -e
winget install --id=OpenStenoProject.Plover  -e
winget install --id=Anki.Anki  -e
winget install --id=WinDirStat.WinDirStat  -e 
winget install --id=voidtools.Everything  -e
winget install --id=PrismLauncher.PrismLauncher  -e
winget install --id=WiresharkFoundation.Wireshark  -e
winget install --id=OBSProject.OBSStudio  -e
winget install --id=ajeetdsouza.zoxide  -e
winget install --id=DebaucheeOpenSourceGroup.Barrier  -e
winget install --id=Bitwarden.Bitwarden  -e
winget install --id=Microsoft.VisualStudioCode  -e
winget install --id=MartinBresson.Executor  -e
winget install --id=Bambulab.Bambustudio  -e
winget install --id=Ablaze.Floorp  -e
winget install --id=Vivaldi.Vivaldi  -e
winget install --id=VideoLAN.VLC  -e
winget install --id=mpv.net  -e
winget install --id=BurntSushi.ripgrep.GNU  -e
winget install --id=sharkdp.fd  -e
winget install --id=ch.LosslessCut  -e
winget install --id=RevoUninstaller.RevoUninstaller  -e
winget install --id=Rufus.Rufus  -e
winget install -e --id Microsoft.Sysinternals.ProcessExplorer

App Store

There are a few things I get from the Appstore, mainly for convenience

  • Oh my posh
  • Powertoys
  • Icloud
  • Wolfram Alpha
  • Devtoys

Settings

Disable suggest snap when snapping window to side

  • System > Multitasking
  • Click dropdown arrow and uncheck "When I snap a window, suggest what I can snap next to it"

Disable "ads"

  • Personalization > Lockscreen
  • Uncheck "Get fun facts, tips, tricks and more on your lock screen"
  • Personalize your lock screen > picture

Enable Hibernation

  • Open the old control panel (Might need to search)
  • Power Options > Choose what the power buttons do > Check hibernation

System > Multitasking

  • Click dropdown arrow and uncheck "When I snap a window, suggest what I can snap next to it"

Terminal

- Psreadline
- Zoxide
- oh my posh
- alias pwsh=“/mnt/c/Program\ Files/Powershell/7/pwsh.exe” 
- alias vi=nvim
- alias vim=nvim
- alias cd=z
⚠️ **Warning**: Make sure powershell version is > 6 `$PSVersionTable.PSVersion` to check 

Hide other stuff from terminal

Profiles > Azure/Command promt, > Hide porfile form dropdown

Oh My Posh

A bit of software that makes your terminal look nice Pasted image 20260406135911.png

winget install JanDeDobbeleer.OhMyPosh --source winget --scope user --force or get it on the windows app store https://ohmyposh.dev/docs/installation/windows

Add required stuff to path

If you downloaded via the app store you do not need to follow these steps

  1. search environment variables on windows search and click on edit environment variables for account
  2. from there click on Environment Variables...
  3. from there click on PATH and add C:\Users\<youruser>\AppData\Local\Programs\oh-my-posh\bin\
  4. for themes create a new variable called POSH_THEMES_PATH and add C:\Users\<youruser>\AppData\Local\Programs\oh-my-posh\themes\

Create powershell profile

if using a newer version of powershell it will ask if you want a profile made. if you do run notepad $PROFILE

if it fails (likely means your powershell version is old) you can run if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force } but I would recommend you update instead!

Add required software

https://github.com/PowerShell/PSReadLine From an elevated terminal run Install-Module -Name PowerShellGet -Force; exit

Install-Module PSReadLine -Repository PSGallery -Scope CurrentUser -AllowPrerelease -Force

https://github.com/devblackops/Terminal-Icons

Install-Module -Name Terminal-Icons -Repository PSGallery

View profile

notepad $PROFILE

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_rainbow.omp.json" | Invoke-Expression

Import-Module -Name Terminal-Icons
Import-Module -Name PSReadLine

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle listView
Set-PSReadLineOption -EditMode Windows

Invoke-Expression (& {
	$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { "pwd" }
	(zoxide init --hook $hook powershell | Out-String)
})

Starting directory

%USERPROFILE%

Windows Setup