Files
nix-config/host/pc/common/configuration.nix
T
2025-12-01 18:33:37 -05:00

143 lines
2.7 KiB
Nix

{
inputs,
hostName,
pkgs,
...
}:
{
imports = [
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/pc/${hostName}/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";
}