Skip to content

Weathercold/nixfiles

Repository files navigation

Abszero

NUR Badge Cachix Badge GitHub commit activity Update Packages status Build Packages status

Dotfiles powered by Nix™, plus a package overlay and a library of utility functions.

Rice

Highlights

Public modules

NixOS

  • base-plymouth-rings_2 (unused): sets plymouth theme to rings 2
  • catppuccin-catppuccin
  • catppuccin-fonts: installs fonts for the catppuccin theme
  • catppuccin-plymouth
  • catppuccin-sddm (unused)
  • hardware-dell-inspiron-7405 (deprecated)
  • hardware-framework-12-13th-gen-intel
  • hardware-framework-desktop-amd-ai-max-300-series
  • hardware-keyboard-halo65 (deprecated)
  • hardware-vultr-cc-intel-regular: configures hardware for vultr intel VPS
  • hardware-xiaomi-redmibook-16-pro-2024 (deprecated)
  • profiles-base: set essential options for all hosts
  • profiles-desktop: enables services for PCs
  • profiles-desktop-with-ai: enables services for AI-capable PCs
  • profiles-graphical: sets essential options for graphical hosts
  • profiles-graphical-full sets full options for graphical hosts
  • profiles-laptop: enables services for laptops
  • profiles-server: sets options for servers
  • services-framework_rgbafan: controls RGB on framework desktop
  • services-xray: configures xray

Home Manager

  • base-cursors
  • base-fastfetch: themes fastfetch
  • base-foot
  • base-ghostty (unused)
  • base-hyprland-dynamic-cursors (unused): configures dynamic cursors plugin for hyprland
  • base-nushell
  • base-starship
  • catppuccin-catppuccin: declares options for the catppuccin theme
  • catppuccin-cursors
  • catppuccin-discord (deprecated)
  • catppuccin-fcitx5
  • catppuccin-fonts: installs fonts for the catppuccin theme
  • catppuccin-foot
  • catppuccin-ghostty (unused)
  • catppuccin-gtk
  • catppuccin-hyprland (unused)
  • catppuccin-niri
  • catppuccin-plasma6 (unused)
  • colloid-fcitx5 (unused)
  • colloid-firefox (unused)
  • colloid-fonts (unused)
  • colloid-gtk (unused)
  • colloid-plasma6 (unused)
  • profiles-base: sets essential options for all hosts
  • profiles-build-config (deprecated): prevents installation of packages (only installs configs)
  • profiles-full: sets full options for all hosts
  • profiles-hyprland (unused): enables services for hosts running hyprland
  • profiles-niri: enables services for hosts running niri

Project Structure

I try to make the structure as close to that of nixpkgs as possible, differing from it only when it makes sense.

Tip

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 manager config
│ ├ configurations/                   home configurations
│ │ ├ weathercold/                    personal configurations
│ │ │ └ nixos-fwlaptop.nix, ...
│ │ ├ custom.nix                      example configuration
│ │ └ _options.nix                    configuration abstraction
│ └ modules/                          home modules
│   ├ profiles/                       top-level home modules
│   └ services/, programs/, ...
├ nixos/                              nixos config
│ ├ configurations/                   nixos configurations
│ │ ├ nixos-fwlaptop.nix, ...
│ │ └ _options.nix                    configuration abstraction
│ └ modules/                          nixos modules
│   ├ profiles/                       top-level nixos modules
│   └ services/, programs/, ...
├ pkgs/                               package repository (follows pkgs/by-name structure)
└ lib/                                library of shared expressions
  ├ modules/                          shared modules
  └ src/                              shared functions

Import Graph

nixfiles/flake.nix
├ home/flake-module.nix
│ ├ configurations/custom.nix, ...
│ ├ configurations/weathercold/nixos-fwlaptop.nix, ...
│ │ ├ _base.nix
│ │ └ ../_options.nix
│ │   └ ../modules/profiles/*, ../modules/services/*, ...                 all home modules
│ └ modules/profiles/*, modules/themes/*, ...                             public home modules
├ nixos/flake-module.nix
│ ├ configurations/nixos-fwlaptop.nix, ...
│ │ ├ inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel, ... 3rd party nixos modules
│ │ └ _options.nix
│ │   └ ../modules/profiles/*, ../modules/services/*, ...                 all nixos modules
│ └ modules/profiles/*, modules/themes/*, ...                             public nixos modules
├ pkgs/flake-module.nix
│ └ default.nix
│   └ aa/*, ab/*, ...
└ lib/default.nix
  └ src/*

About

Dotfiles powered by Nix™ (plus package overlay)

Topics

Resources

License

Stars

Watchers

Forks

Contributors