refactor: multi-system configuration in host
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
{ inputs, hostName, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
|
||||
nix.package = pkgs.lixPackageSets.latest.lix;
|
||||
|
||||
networking.hostName = "${hostName}";
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
time.timeZone = "America/Toronto";
|
||||
|
||||
i18n.defaultLocale = "en_CA.UTF-8";
|
||||
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEMS=="usb", ATTR{idVendor}=="*", MODE:="0666"
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users = {
|
||||
autumn = import ../home-manager/home.nix;
|
||||
};
|
||||
};
|
||||
|
||||
services.gnome.glib-networking.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
theme = "catppuccin-mocha-mauve";
|
||||
wayland.enable = true;
|
||||
package = pkgs.kdePackages.sddm;
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
users.users.autumn = {
|
||||
isNormalUser = true;
|
||||
description = "Autumn";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
packages = [ ];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cloudflared
|
||||
gparted
|
||||
networkmanagerapplet
|
||||
nh
|
||||
pavucontrol
|
||||
(pkgs.catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
font = "CaskaydiaCove Nerd Font";
|
||||
fontSize = "12";
|
||||
})
|
||||
wget
|
||||
];
|
||||
|
||||
fonts = {
|
||||
packages = [
|
||||
pkgs.nerd-fonts.caskaydia-cove
|
||||
];
|
||||
fontconfig = {
|
||||
defaultFonts =
|
||||
let
|
||||
font = "CaskaydiaCove Nerd Font";
|
||||
in
|
||||
{
|
||||
serif = [ font ];
|
||||
sansSerif = [ font ];
|
||||
monospace = [ font ];
|
||||
emoji = [ font ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
BROWSER = "zen";
|
||||
SUDO_EDITOR = "nvim";
|
||||
SHELL = "nu";
|
||||
};
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
Reference in New Issue
Block a user