HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
nickjj
dotfriedrice
Shell2018–2026
nickjj / dotfriedrice

dotfriedrice

Set up a developer friendly niri / Arch Linux system in minutes. Also supports WSL 2, Debian, Ubuntu and macOS for CLI tools!

2Distinct people
45Mentions
0Explicit recommenders
1.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Set up a developer friendly niri / Arch Linux system in minutes. Also supports WSL 2, Debian, Ubuntu and macOS for CLI tools!

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year45 dated mentions

Observed mentions: 2018-12-29 18:54:02 UTC to 2026-08-21 17:02:02 UTC.

051015202018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 20 mentions; 1 submissions, 19 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC817
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC606
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC20119

What Hacker News says

45 sources
> It's a lot more than any shell script I've written, certainly. If you've written a more complex one I'd love to see it. I've been maintaining https://github.com/nickjj/dotfriedrice for around 8 years, it's my dotfiles that have an installer, theming and other things. I'd still absolutely classify this is a shell script / dotfiles project. I've added just enough customization to make it easy to modify most things without needing to fork the repo. I only added a GUI last year after my hardware was finally compatible with native Linux, otherwise I would have switched almost 10 years ago. Before that, it focused on command line tools and your terminal, that's because I ran it under Windows with WSL 2 but it also worked fine on native Linux even back then, macOS too because I use it on a company issued laptop. All that to say, I don't see th
Read the rest
e above as anything special. It's a batteries included dotfiles, nothing more nothing less. With that said, I'm thrilled by the environment it's allowed me to create and niri is so good. I wish I could get $8 million dollars in funding, because I'd give $7 million of that to the author of niri.
In Omacom Foundation launches with $8M
> With Ghostty my only option is to maintain different config files per machine. This turns out to be a benefit IMO. Ghostty supports include files. You can have all of your shared config in 1 main config and then have small files that are included which are machine specific. My dotfiles uses it and it supports Linux and macOS. Example: https://github.com/nickjj/dotfriedrice/blob/master/.config/g... You can have something like this in your Ghostty config: config-file = ?config.local And then on each machine that's different, you can have your machine specific config in ~/.config/ghostty/config.local or whatever you decide to name the file. It works out nicely because config options are merged, so the local file can overwrite what's in the main config. This lets you deviate from the original git committed config without needing to modify i
Read the rest
t. Super handy for public dotfiles.
In Hyprland 0.55 announced the switch to Lua for its config files
It's neat that Hyprland lets you define layouts in its config but I like niri's approach. It uses KDL (an established document / config language) and slightly extends it to add useful things like being able to include files. For example, here's mine: https://github.com/nickjj/dotfriedrice/blob/master/.config/n... What you end up with is a config file that's natural to read with no prior knowledge about anything and if you want to look something specific up, you know it's officially documented and not some home grown pattern someone created. There's a certain amount of comfort and stability you get with a "what you see is what you get" approach. I never felt like I needed variables, conditions, functions or loops with niri's config.
In Hyprland 0.55 announced the switch to Lua for its config files
I like how efficient Arch is, in the sense that you have nothing and now you get to pick and choose what you want. My main desktop I use for full time software development and video editing is from 2014. I've run Windows on it forever. I put Arch on it ~8 months ago. A full desktop environment I put together based on niri boots at 1.1 GB of memory. Every app I want is installed (tons of CLI tools, various GUI tools, Docker, video editors, browser, etc.) all together comes in at 10 GB of disk total for everything based on what `df -h` says for my root partition. My machine does have 16 GB of memory so I'm not pressed for memory, but it's nice to know the machine runs on a system designed to not be bloated. After switching from Windows 10 Pro, it felt like I got a hardware upgrade. Things open faster and generally speaking everything just f
Read the rest
eels snappier. As an aside, it was super fun spending a few days setting everything up in a repeatable way which I've now replicated on a number of systems with https://github.com/nickjj/dotfriedrice.
In Reviving a 15-year-old netbook with Arch Linux
If anyone is looking for a niri based opinionated set of configuration on top of CachyOS (or vanilla Arch) I put together: https://github.com/nickjj/dotfriedrice The goal is after installing the official ISO, you can get a developer focused desktop environment up and running in ~10 minutes with 1 command. It's quite configurable so you can change around anything you want ahead of time or after you install it. I use it with vanilla Arch but I know of quite a few people using it successfully with CachyOS. For CachyOS, the only manual adjustment you have to make before running the repo's install script is uninstalling `jack` since it conflicts with `pipewire-jack`. I could easily roll this into the script but so far no one has complained loud enough to automate this. I also wonder if CachyOS will eventually drop that AUR dependency in its of
Read the rest
ficial ISO. If it matters to you, 99.9% of the code is hand coded. The only time I use AI is when I'm 100% stone walled on something and it's a last resort move. Even then it's copy / pasting small snippets into web based AIs where I fully review and refactor its output so you could say the 0.1% is still human vetted. Moving away from Windows last year was so worth it. I've been wanting to switch since 2017 but always ran into hardware issues. The same hardware I had back then works beautifully with Arch today.
In CachyOS June 2026 Release
I run vanilla Arch with niri (Wayland), Waybar and a few other tools to create a desktop environment. I didn't do any special kernel or app specific tweaks for performance. The machine boots using 1.1 GB of memory and total disk space after installing a bunch of apps is ~10 GB. Browser, Docker, video editor, image editor, LibreOffice, OBS, VMs, a ton of CLI tools and everything you'd expect to have a fully working and usable system is there. It's a wonderful environment on 2014 era hardware. Granted I have 16 GB of memory but it would be fine with 8 GB even when running non-trivial Docker based projects and doing 1080p video editing. Even Silksong runs at 60 FPS with a GeForce 750 Ti (2 GB) GPU. Although I splurged on a used AMD RX 480 (8 GB) to get more things to run nicely in parallel. Wayland is very picky with limited GPU VRAM, especi
Read the rest
ally with NVIDIA cards. I also run the same set up on a more modern laptop with way better hardware but things aren't much faster unless I'm very CPU bound. Everything to get the system up and running in 1 command and 10-15 minutes is here: https://github.com/nickjj/dotfriedrice
In Linux on Older Hardware: The Complete Revival Guide
> don't really recommend it to others, since there's all these great tools that have the features you need I thought about using any one of those tools but happily chose shell scripts and symlinks instead. It hasn't let me down in almost a decade with https://github.com/nickjj/dotfriedrice and would highly recommend this approach. It's basically a 2,500 line shell script to fully automate setting up a system from scratch in a general purpose / opinionated but customizable way that works on Arch Linux, Debian, Ubuntu, macOS and supports WSL 2 in Windows. I have it running on multiple systems, no need to even fork it since it uses patterns suitable for making changes in git ignored files and also has a config file for certain things. When it comes to setting up a complete desktop environment or even just terminal based tools, dotfiles IMO a
Read the rest
re more than config files. There's install scripts, packages, system level configs, running commands, OS specific differences and more. It's really nice to be able to run 1 command and have a fresh system ready to go in about 10 minutes. Shell script is probably my favorite language at this point.
In Migrating from GNU Stow to Chezmoi
I've had public dotfiles at https://github.com/nickjj/dotfriedrice for a long time but recently branded them and after having run native Linux for 6 months, I added a desktop environment based on using niri and Arch Linux. It can get you up and running in a few minutes with an installer that can set up a new system or keep an existing system up to date. There's also a command line version that works on Arch and Debian based distros (including WSL 2) and macOS. I use it on my personal devices and a company issued MBP. I'm not going to lie, I've been using computers for 25 years and this is the happiest I've ever been with using 1 machine for everything (software development, media creation, gaming, etc.).
In Ask HN: What are you working on? (May 2026)
I do like CLI tools and TUIs but in the article it mentions Gnome style apps don't fit the look. That sounds like a limitation of Omarchy. It's not too bad to theme GTK apps and have them all look a consistent way. For example I use Tokyonight Moon and Gruvbox and they both have GTK themes that look great for Firefox, Thunar, GIMP, LibreOffice and more. I don't use Omarchy but here's a few screenshots https://x.com/nickjanetakis/status/2037125261657883061/photo.... Nothing fancy was done on my end, just installed the specific GTK themes. They even support live reloading because GTK's tooling supports it, my dotfiles at https://github.com/nickjj/dotfiles handle all of it for you. I still prefer TUIs but you can have nice looking GUI apps for when you want them.
In Why TUIs are back
=== SCRATCHPADS === I've avoided needing them because of 2 niri features: - You can quickly tap alt+tab to focus the last previously focused window (assignable to a custom bind if you want) - niri's CLI is very easy to work with so you can build a general purpose "launch or focus" shell script in a few lines of code If you have something like Discord or any app you want to only be opened once, you can "launch or focus" it and now it's running somewhere. Somewhere as in, you can control which workspace it's on at your discretion. Then if you launch it again from anywhere, you'll jump right to it instead of launching a 2nd instance and you can tap alt+tab to go back to exactly where you were before. A nice effect is after it's been launched once it never interferes with your existing windows since nothing is getting opened again. I'm after
Read the rest
the end result of "let me access this program quickly no matter where I am", it doesn't need to literally follow me around every workspace to do that. The launch or focus model can be applied to GUI apps and also TUIs. === SPATIAL MEMORY === niri's overview gives you a holistic view of everything. Status bars can also show you which workspaces are in use (and even open apps if you want that). In addition to that, certain launchers like Walker have shortcuts to let you switch windows. This means you're only ever 1 global hotkey away from seeing a list of every window that's open and being able to fuzzy find switch to it in a second. I use this all the time. If you're not using Walker you can build this in a few lines of code since niri's CLI gives you a list of open windows. My dotfiles have both things set up https://github.com/nickjj/dotfiles.
In Niri 26.04: Scrollable-tiling Wayland compositor
Niri is so good. I've switched to using it about 5 months ago and it was legit the best computing decision I can remember making in recent history to move away from Windows. I have a huge amount of gratitude towards the author of niri. My dotfiles have always included an install script for setting everything up around command line tools, theme switching and more but it fully supports niri now too on Arch based distros https://github.com/nickjj/dotfiles in case anyone is shopping around for a new desktop environment and wants to get going quickly. I run it on both my main desktop and a travel laptop.
In Niri 26.04: Scrollable-tiling Wayland compositor
It is nice to have this confidence. I ran Arch Linux for almost a year in WSL 2, it was really good. Then I ran Arch natively for ~5 months, it's really good. Now I still run Arch natively, but I also use the Arch Docker image to test my dotfiles[0] with a fresh file system. Also, for when I want to run end to end tests for my dotfiles that set up a complete desktop environment I run Arch in a VM. I have 99 problems but running Arch isn't one of them. [0]: https://github.com/nickjj/dotfiles
In Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image
One nice thing about tmux is it also supports include files in its config. This lets you put your theme colors in a different file, such as `source-file "~/.config/tmux/theme.conf"` and then your theme switching external script or tool can symlink a specific theme's tmux file to that path. That's what I do in my dotfiles: # Main tmux config https://github.com/nickjj/dotfiles/blob/master/.config/tmux/tmux.conf # One of the theme files https://github.com/nickjj/dotfiles/blob/master/themes/tokyonight-moon/tmux.conf It allows for hot-reloading different themes as well.
In Make tmux pretty and usable (2024)
This is what I use too, the nice thing about this is you can use your existing tools natively and you have lots of flexibility in how you want them arranged. Could be split panes in 1 window or different windows in their own session. For example I have a `monitor` script in my dotfiles at https://github.com/nickjj/dotfiles/blob/master/.local/bin/mo... which for now just splits btop and a dedicated GPU monitoring tool. If I'm already in tmux and run that script it splits a few tools in a new tmux window but if I'm not in tmux already then it creates a new "monitor" session with the same splits. I also have it assigned to my status bar where if I click Waybar's CPU icon, it "launches or focuses" that monitor script in a new terminal so it doesn't spawn duplicates if I click the CPU multiple times. Basically ultimate freedom in how I want to
Read the rest
launch it.
In Perfmon – Consolidate your favorite CLI monitoring tools into a single TUI

Showing the 15 most recent of 45 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.