* updated noctalia-shell to v3.8.2 * removed television fish integration workaround * removed `~/.config/fish/fish_variables` entry in my.persist.homeFiles since [fish v4.3.0](https://github.com/fish-shell/fish-shell/releases/tag/4.3.0) no longer sets universal variables by default
❄️ 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:
- NixOS Desktop: NixOS with home-manager, niri, neovim, etc.
- NixOS home server
- NixOS 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 modulesmodules/core/- core system modules (nix, persistence, time, user, xdg)modules/cli/- command-line tools and utilitiesmodules/coding/- development environments and editorsmodules/desktop/- desktop applications and window managersmodules/virt/- virtualization configurations
profiles/- system configuration profilesprofiles/base.nix- base configuration for all hostsprofiles/desktop.nix- desktop environment configurationprofiles/server.nix- server-specific configurationprofiles/wsl.nix- WSL-specific configuration
hosts/<name>/- host-specific configsflake/- flake-parts modulesflake/hosts.nix- declarative host definitions
lib/- custom nix librarypkgs/- custom packagesoverlays/- nixpkgs overlaysvars.nix- my variablessecrets/- secrets managed by sops-nix. see ./secrets for detailsflake.nix- flake entry