# Entry point to cherry pick modules let sources = import ../../npins; hostname = "iron"; username = "leana"; in { config, lib, pkgs, ... }: let inherit (lib.modules) mkAliasOptionModule; in { imports = [ # # Shorthands # (mkAliasOptionModule ["me"] ["users" "users" username]) (mkAliasOptionModule ["hm"] ["home-manager" "users" username]) # # hostname # {_module.args = {inherit hostname;};} # # nixpkgs # { # affect the generated nix.conf, doesn't need to be turned off during nixos-install nix = { distributedBuilds = true; settings.builders-use-substitutes = true; }; nixpkgs = { overlays = map import [ ../overlays/agenix.nix ../overlays/disko.nix ../overlays/nur.nix ../overlays/nix-tree.nix ../overlays/nil.nix ../overlays/dix.nix ../packages/overlay.nix ] # use lix everywhere and wrap it with nom ++ [ (import (sources.lix-module + "/overlay.nix") {inherit (sources) lix;}) (import ../overlays/nix-monitored.nix) ]; # Set NIX_PATH and flake registry at the same time # https://github.com/NixOS/nixpkgs/pull/254405 flake.source = sources.nixpkgs; }; nix.package = pkgs.nix-monitored; system.nixos.version = lib.substring 0 8 sources.nixpkgs.revision; } # # NixOS modules # ./iron/nixos/hardware-configuration.nix # generated ./iron/nixos/fs.nix ./iron/nixos/battery.nix ./iron/nixos/connectivity.nix ./iron/nixos/secure_dns.nix ./iron/nixos/input.nix ./iron/nixos/misc.nix ./iron/nixos/display.nix ./iron/nixos/locale.nix ./iron/nixos/programs.nix ../nixosModules/common/disable-command-not-found.nix ../nixosModules/common/network.nix ../nixosModules/common/sudo-conf.nix ../nixosModules/common/system-nixconf.nix ../nixosModules/extra/leana.nix # # Extern modules # (sources.disko + "/module.nix") ../disko/iron/btrfs.nix (sources.agenix + "/modules/age.nix") ../nixosModules/extra/macbook-pro-radeon.nix ../nixosModules/extra/macbook-swap-cmd-opt.nix ../nixosModules/extra/macbook-swap-fn-ctrl.nix ../nixosModules/extra/macbook-broacom-b43.nix # # home-manager # (sources.home-manager + "/nixos") { home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}]; }; hm.imports = [ # # hostname # {_module.args = {inherit hostname;};} # # home modules # ./iron/home/programs.nix ../homeModules/common/btop ../homeModules/common/fish ../homeModules/common/starship ../homeModules/common/tmux ../homeModules/common/vim ../homeModules/common/direnv.nix ../homeModules/common/fzf.nix ../homeModules/common/git.nix ../homeModules/common/gpg.nix ../homeModules/common/leana.nix ../homeModules/common/locale.nix ../homeModules/common/lazygit.nix ../homeModules/common/packages.nix ../homeModules/common/password-store.nix ../homeModules/common/tealdeer.nix ../homeModules/common/user-nixconf.nix ../homeModules/extra/tmux-fish-integration.nix # # Extern modules # (sources.agenix + "/modules/age-home.nix") ]; } # # Secrets # { age.secrets = { wpa_password.file = "${../secrets/wpa_password.age}"; }; } ]; }