Dotfiles powered by Nix™, plus a package overlay and a library of utility functions.
- Display manager: tuigreet
- Window manager: niri
- Desktop shell: under construction
- Terminal: foot
- Shell: Nu
- Prompt: starship
- Color theme: catppuccin
- Using darkman to automatically switch theme based on home-manager configurations
- Xray vless-tcp-xtls-reality tproxy configuration
- Using haumea:
- to generate lists and trees of modules for
homeandnixos - as a module system for
lib
- to generate lists and trees of modules for
- Using disko to declare partitions
I try to make the structure as close to that of nixpkgs as possible, differing from it only when it makes sense.
Each part of this repo (home, lib, nixos, pkgs) has a subflake that can
be used as flake input by specifying a directory like this:
github:Weathercold/nixfiles?dir=home
nixfiles/
├ home/ home configurations
│ ├ configurations/ top-level home configurations
│ │ ├ weathercold/ my configurations
│ │ ├ custom.nix example configuration
│ │ └ _options.nix configuration abstraction
│ └ modules/ home modules
│ ├ profiles/ top-level home modules**
│ ├ accounts/, programs/, services/, ...
│ └ themes/ **
├ nixos/ nixos configurations
│ ├ configurations/ top-level nixos configurations
│ │ ├ nixos-redmibook.nix, ... my configurations
│ │ └ _options.nix configuration abstraction
│ └ modules/ nixos modules
│ ├ profiles/ top-level nixos modules**
│ ├ config/, i18n/, programs/, ...
│ └ hardware/, themes/ **
├ pkgs/ package repository (by-name)
└ lib/ library of shared expressions
├ modules/ shared modules
└ src/ shared functions
**: external modules exposed with self.nixosModules and self.homeModules.
They are effective on import by default, but can be disabled with
config.abszero.enableExternalModulesByDefault.
nixfiles/flake.nix
├ home/flake-module.nix
│ ├ configurations/custom.nix, ...
│ └ configurations/weathercold/nixos-redmibook.nix, ...
│ ├ ../_options.nix
│ └ _base.nix
│ └ ../../modules/profiles/full.nix
│ └ base.nix
│ └ ../accounts/*, ../programs/*, ../services/*, ...
├ lib/default.nix
│ └ src/*
├ nixos/flake-module.nix
│ └ configurations/nixos-redmibook.nix, ...
│ ├ _options.nix
│ ├ ../modules/hardware/xiaomi-redmibook-16-pro-2024.nix
│ └ ../modules/profiles/niri.nix
│ └ full.nix
│ ├ ../hardware/halo65.nix, ...
│ └ base.nix
│ └ ../config/*, ../i18n/*, ../programs/*, ...
└ pkgs/flake-module.nix
└ default.nix
└ aa/*, ab/*, ...