Skip to content

rytswd/nix-config

Repository files navigation

Nix Config

assets/images/nixos-screenshot-2026-02-19.png

🌄 My Configuration, Not Yours

My configuration will not be useful as is for many, and it’s never meant to be. I made all the configurations for my specific needs. You are welcome to have a look to understand how I work, how to configure with Nix, etc. I will check Issues and Pull Requests, but may not take in suggestions and configurations.

🧪 Nix Setup

Nix is used for both NixOS and macOS for my configuration. You can check out both configurations here. All the configurations are based on Nix Flake.

For NixOS

For NixOS, I use Nix ecosystem extensively. In order to allow working in various environments, I heavily depend on home-manager setup rather than NixOS configuration.

For macOS

NOTE: I rarely use macOS these days, and thus you may find some stale configuration. For macOS, I use nix-darwin and home-manager to configure.

For NixOS with UTM (on Mac)

NOTE: I have not been using this at all, and many of the configurations are broken at this point. For the UTM setup for VM on macOS, you can find more in machine-setup/mbp-utm/README.org. Other VM solutions may also be added as I get to test more.

📜 Configuration Details

The idea is to ensure I have all the $HOME setup defined declaratively, while allowing some imperative adjustments when and if necessary. Also, it is designed to work with various machines and environments, so that most of the configurations can be shared among the different environments, but still there would be some additional configurations made possible. (Or simply duplicating some resources.)

Directories

Most of the configurations are made so that they can be used for various machines and user setup. You can find modules/ directory, where I define specific functionality in a single file, such as user-config/modules/music/spotify.nix.

Key Tools In Use

You can find the actual configurations in various .nix files in this repository. Here is a list of items that are worth clarifying for anyone keen to understand how I work in general.

📝 Editor

I mainly use Emacs for any coding tasks, and many more (note taking, task management, email, etc.). All of my Emacs configurations are NOT in this repository, and I manage them in a separate repository (private as of now, maybe to be open sourced in future). With my Emacs, I use Evil key bindings along with Emacs bindings. I use both Emacs and Vi bindings all the time, and thus NeoVim is also another platform I sometimes fall back to. I do have VSCode and other editors installed and use it occasionally, but quite rare in these days.

💻 Terminal

I used to use various solutions, but now my main driver is Ghostty. It is performant and does everything I need well and cleanly. Before Ghostty, I used to use Alacritty and tmux, but I do not feel the need anymore. I also have Kitty available, but I do not use it.

⚙️ Core Components

Here is the list of other tools I use for the key components of each OS.

🐱macOSNixOS
Window Managementyabainiri
ShortcutskhdXremap
ToolbarmacOS defaultWaybar
App LauncherRaycastrofi
BrowserZen BrowserZen Browser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors