# Configuration pieces included on all (nixos) hosts { inputs, outputs, ... }: let # {{{ Imports imports = [ inputs.hyprland.nixosModules.default inputs.disko.nixosModules.default inputs.agenix.nixosModules.default inputs.stylix.nixosModules.stylix inputs.nur.nixosModules.nur inputs.impermanence.nixosModule inputs.slambda.nixosModule # NOTE: using `pkgs.system` before `module.options` is evaluated # leads to infinite recursion! inputs.intray.nixosModules.x86_64-linux.default inputs.smos.nixosModules.x86_64-linux.default inputs.tickler.nixosModules.x86_64-linux.default ./persistence.nix ./nix.nix ./openssh.nix ./fish.nix ./locale.nix ./wireless ./tailscale.nix ../../../../common ]; # }}} in { # Import all modules defined in modules/nixos imports = builtins.attrValues outputs.nixosModules ++ imports; # Allow non root users to specify the "allowOther" option. # See [the imperanence readme](https://github.com/nix-community/impermanence#home-manager) programs.fuse.userAllowOther = true; # Customize tty colors stylix.targets.console.enable = true; nixpkgs = { # Add all overlays defined in the overlays directory overlays = builtins.attrValues outputs.overlays ++ [ # inputs.neovim-nightly-overlay.overlay ]; config = { allowUnfree = true; }; }; }