49 lines
1.7 KiB
Nix
49 lines
1.7 KiB
Nix
{ config, lib, pkgs, settings, ... }:
|
|
let
|
|
home-manager = builtins.fetchTarball {
|
|
url = "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz";
|
|
# to get hash run `nix-prefetch-url --unpack "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz"`
|
|
sha256 = "0562y8awclss9k4wk3l4akw0bymns14sfy2q9n23j27m68ywpdkh";
|
|
};
|
|
in
|
|
{
|
|
imports =
|
|
[
|
|
# Include the results of the hardware scan.
|
|
# Note we need to be in the /etc/nixos directory with this entire config repo for this relative path to work
|
|
(/${settings.systemsDir}/${settings.system.hostname}/hardware-configuration.nix)
|
|
# home manager import
|
|
(import "${home-manager}/nixos")
|
|
];
|
|
|
|
# Enable flakes
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
# Home manager options
|
|
security.polkit.enable = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.extraSpecialArgs = { inherit settings; };
|
|
|
|
# ==========
|
|
# Common
|
|
# ==========
|
|
networking.hostName = settings.system.hostname;
|
|
time.timeZone = settings.system.timeZone;
|
|
|
|
# Select internationalisation properties.
|
|
i18n.defaultLocale = settings.system.defaultLocale;
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = settings.system.defaultLocale;
|
|
LC_IDENTIFICATION = settings.system.defaultLocale;
|
|
LC_MEASUREMENT = settings.system.defaultLocale;
|
|
LC_MONETARY = settings.system.defaultLocale;
|
|
LC_NAME = settings.system.defaultLocale;
|
|
LC_NUMERIC = settings.system.defaultLocale;
|
|
LC_PAPER = settings.system.defaultLocale;
|
|
LC_TELEPHONE = settings.system.defaultLocale;
|
|
LC_TIME = settings.system.defaultLocale;
|
|
};
|
|
|
|
system.stateVersion = "23.11";
|
|
}
|