1
Fork 0
satellite/hosts/nixos/common/global/default.nix
2024-01-31 20:03:00 +01:00

67 lines
1.7 KiB
Nix

# Configuration pieces included on all (nixos) hosts
{ inputs, lib, config, outputs, ... }:
let
# {{{ Imports
imports = [
# {{{ flake inputs
# inputs.hyprland.nixosModules.default
inputs.disko.nixosModules.default
inputs.stylix.nixosModules.stylix
inputs.nur.nixosModules.nur
inputs.slambda.nixosModule
inputs.sops-nix.nixosModules.sops
# {{{ self management
# 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
# }}}
# }}}
# {{{ global configuration
./cli/fish.nix
./cli/htop.nix
./services/openssh.nix
./services/tailscale.nix
./nix.nix
./locale.nix
./persistence.nix
./wireless
../../../../common
# }}}
];
# }}}
in
{
# Import all modules defined in modules/nixos
imports = builtins.attrValues outputs.nixosModules ++ imports;
# Tell sops-nix to use the host keys for decrypting secrets
sops.age.sshKeyPaths = [ "/persist/state/etc/ssh/ssh_host_ed25519_key" ];
# {{{ ad-hoc options
# Customize tty colors
stylix.targets.console.enable = true;
# Reduce the amount of storage spent for logs
services.journald.extraConfig = lib.mkDefault ''
SystemMaxUse=256M
'';
# Boot using systemd
boot.initrd.systemd.enable = true;
# }}}
nixpkgs = {
# Add all overlays defined in the overlays directory
overlays = builtins.attrValues outputs.overlays ++
lib.lists.optional
config.satellite.toggles.neovim-nightly.enable
inputs.neovim-nightly-overlay.overlay;
config.allowUnfree = true;
};
}