Skip to content

rytswd/nix-config

Repository files navigation

Nix Config

images/2024-02-16_18-02-48_screenshot.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

To be updated

For macOS

For macOS, I use nix-darwin and home-manager to configure.

You can find more in machine-setup/mbp/README.org.

For NixOS with UTM (on Mac)

All the NixOS configurations are done with nixpkgs.lib.nixosSystem and home-manager.

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

To be updated (should be mostly clear by their names)

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 (to be open sourced at some point). 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 installed and use it occasionally, but rather rarely.

💻 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

🍂 Other Tools

For macOS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published