2025-10-18 10:17:49 +08:00
2026-07-24 18:33:54 +08:00
2026-07-26 11:46:55 +08:00
2026-07-26 11:48:46 +08:00
2026-06-13 11:57:10 +08:00
2026-07-24 14:31:52 +08:00
2025-12-28 11:07:50 +08:00
2026-02-07 11:03:28 +08:00
2025-08-16 23:13:01 +08:00
2026-07-24 18:33:54 +08:00
2026-07-24 14:03:08 +08:00
2026-01-16 20:26:33 +08:00
2026-07-24 15:31:55 +08:00
2026-01-30 21:35:16 +08:00
2026-05-30 16:19:38 +08:00
2025-12-27 16:46:24 +08:00

❄️ imxyy_soope_'s NixOS Config ❄️

This configuration and READMEs in this repo borrows heavily from ryan4yin/nix-config and his cookbook. Many thanks to his spirit of sharing!

This repository is home to the nix code that builds my systems: Currently, this repository contains the nix code that builds:

  1. NixOS Desktop (imxyy-nix): NixOS with home-manager, niri, neovim, etc.
  2. NixOS Laptop (imxyy-nix-x16): the desktop profile on a laptop
  3. NixOS home server (imxyy-nix-server)
  4. NixOS WSL (imxyy-nix-wsl)

See ./hosts for details of each host.

Why NixOS & Flakes?

Nix allows for easy-to-manage, collaborative, reproducible deployments. This means that once something is setup and configured once, it works (almost) forever. If someone else shares their configuration, anyone else can just use it (if you really understand what you're copying/refering now).

As for Flakes, refer to Introduction to Flakes - NixOS & Nix Flakes Book

This configuration uses flake-parts for better flake organization and modularity, enabling declarative host definitions and cleaner separation of concerns.

Folder Structure

  • modules/ - custom NixOS modules, auto-imported via lib.umport
    • modules/core/ - core system modules (nix, persistence, time, user, xdg)
    • modules/cli/ - command-line tools and utilities
    • modules/coding/ - development environments and editors
    • modules/desktop/ - desktop applications and window managers
    • modules/virt/ - virtualization configurations
    • modules/i18n/ - locale and input method (fcitx5)
    • modules/programs/ - misc system programs (e.g. ollama)
    • modules/*.nix - standalone modules (audio, bluetooth, fonts, gpg, sops, etc.)
  • profiles/ - system configuration profiles
    • profiles/base.nix - base configuration for all hosts
    • profiles/desktop.nix - desktop environment configuration
    • profiles/server.nix - server-specific configuration
    • profiles/wsl.nix - WSL-specific configuration
  • hosts/<name>/ - host-specific configs
  • flake/ - flake-parts modules
    • flake/hosts.nix - declarative host definitions
    • flake/pkgs.nix - custom packages exported from the flake
    • flake/overlays/ - nixpkgs overlays and patches
  • lib/ - custom nix library
  • pkgs/ - custom packages
  • vars.nix - my variables
  • secrets/ - secrets managed by sops-nix. see ./secrets for details
  • flake.nix - flake entry
S
Description
My personal NixOS dotfiles
Readme
2.4 MiB
Languages
Nix 77%
Lua 12.6%
Python 7.7%
Shell 2.1%
Just 0.6%