{ inputs, pkgs, hostname, moduleRel, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ] ++ moduleRel [ "_base" ]; nix.settings = { # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Deduplicate and optimize nix store auto-optimise-store = true; # Allow me to use cachix trusted-users = [ "root" "kalle" ]; }; nixpkgs.config.allowUnfree = true; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; time.timeZone = "Europe/Amsterdam"; console = { font = "Lat2-Terminus16"; useXkbConfig = true; # use xkbOptions in tty. }; services.xserver = { enable = true; xkb.layout = "us"; }; # All my systems are systemd-boot boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Use network manager to manage networks networking.networkmanager.enable = true; networking.hostName = hostname; # Disable firewall. networking.firewall.enable = false; # Enable CUPS to print documents. services.printing.enable = true; services.gvfs.enable = true; # Enable bluetooth. If no bluetooth adapter is present, this does nothing. hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; environment.systemPackages = with pkgs; [ xdg-user-dirs cachix usbutils ]; fonts = { enableDefaultPackages = true; packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji fira-code fira-code-symbols nerd-fonts.symbols-only ]; fontconfig = { defaultFonts = { serif = [ "Noto Serif" "Symbols Nerd Font" ]; sansSerif = [ "Noto Sans" "Symbols Nerd Font" ]; monospace = [ "Fira Code" "Symbols Nerd Font Mono" ]; }; }; }; users.users.kalle = { isNormalUser = true; group = "kalle"; extraGroups = [ "wheel" ]; }; users.groups.kalle.gid = 1000; home-manager.users.kalle = { home = { username = "kalle"; homeDirectory = "/home/kalle"; sessionVariables = { EDITOR = "nvim"; }; }; programs.home-manager.enable = true; }; services.openssh.enable = true; }