2023-01-10 02:38:06 +01:00
|
|
|
# Configuration pieces included on all (nixos) hosts
|
2023-12-10 23:48:46 +01:00
|
|
|
{ inputs, lib, config, outputs, ... }:
|
2023-02-09 23:55:36 +01:00
|
|
|
let
|
2023-09-04 04:58:39 +02:00
|
|
|
# {{{ Imports
|
2023-01-10 02:38:06 +01:00
|
|
|
imports = [
|
2023-12-10 23:48:46 +01:00
|
|
|
# {{{ flake inputs
|
2023-12-10 12:55:54 +01:00
|
|
|
# inputs.hyprland.nixosModules.default
|
2023-07-17 18:54:31 +02:00
|
|
|
inputs.disko.nixosModules.default
|
2023-06-15 20:08:20 +02:00
|
|
|
inputs.agenix.nixosModules.default
|
2023-03-12 05:24:25 +01:00
|
|
|
inputs.stylix.nixosModules.stylix
|
2023-03-07 15:19:18 +01:00
|
|
|
inputs.nur.nixosModules.nur
|
2023-04-27 01:08:20 +02:00
|
|
|
inputs.impermanence.nixosModule
|
2023-06-15 20:08:20 +02:00
|
|
|
inputs.slambda.nixosModule
|
2023-01-10 02:38:06 +01:00
|
|
|
|
2023-12-10 23:48:46 +01:00
|
|
|
# {{{ self management
|
2023-09-04 04:58:39 +02:00
|
|
|
# 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
|
2023-12-10 23:48:46 +01:00
|
|
|
# }}}
|
|
|
|
# }}}
|
|
|
|
# {{{ global configuration
|
|
|
|
./cli/fish.nix
|
|
|
|
./cli/htop.nix
|
|
|
|
./services/openssh.nix
|
|
|
|
./services/tailscale.nix
|
2023-01-10 02:38:06 +01:00
|
|
|
./nix.nix
|
|
|
|
./locale.nix
|
2023-12-10 23:48:46 +01:00
|
|
|
./persistence.nix
|
2023-01-10 16:05:48 +01:00
|
|
|
./wireless
|
2023-12-10 23:48:46 +01:00
|
|
|
|
2023-03-12 05:24:25 +01:00
|
|
|
../../../../common
|
2023-12-10 23:48:46 +01:00
|
|
|
# }}}
|
2023-01-10 02:38:06 +01:00
|
|
|
];
|
2023-09-04 04:58:39 +02:00
|
|
|
# }}}
|
2023-02-09 23:55:36 +01:00
|
|
|
in
|
|
|
|
{
|
|
|
|
# Import all modules defined in modules/nixos
|
|
|
|
imports = builtins.attrValues outputs.nixosModules ++ imports;
|
2023-01-10 02:38:06 +01:00
|
|
|
|
2023-12-10 23:48:46 +01:00
|
|
|
# {{{ ad-hoc options
|
2023-04-27 01:08:20 +02:00
|
|
|
# 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;
|
2023-01-12 20:49:08 +01:00
|
|
|
|
2023-07-22 16:21:29 +02:00
|
|
|
# Customize tty colors
|
|
|
|
stylix.targets.console.enable = true;
|
|
|
|
|
2023-12-10 23:48:46 +01:00
|
|
|
# Reduce the amount of storage spent for logs
|
|
|
|
services.journald.extraConfig = lib.mkDefault ''
|
|
|
|
SystemMaxUse=256M
|
|
|
|
'';
|
|
|
|
# }}}
|
|
|
|
|
2023-01-10 02:38:06 +01:00
|
|
|
nixpkgs = {
|
|
|
|
# Add all overlays defined in the overlays directory
|
2023-12-10 23:48:46 +01:00
|
|
|
overlays = builtins.attrValues outputs.overlays ++
|
|
|
|
lib.lists.optional
|
|
|
|
config.satellite.toggles.neovim-nightly.enable
|
|
|
|
inputs.neovim-nightly-overlay.overlay;
|
2023-01-10 02:38:06 +01:00
|
|
|
|
2023-12-10 23:48:46 +01:00
|
|
|
config.allowUnfree = true;
|
2023-01-10 02:38:06 +01:00
|
|
|
};
|
|
|
|
}
|