Files
nix-config/host/pc/common/configuration.nix
T

169 lines
3.5 KiB
Nix

{
config,
inputs,
hostName,
pkgs,
userName,
...
}:
{
imports = [
inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix
inputs.base16.nixosModule
./stylix.nix
./dwl/dwl.nix
];
environment.etc."current-system-packages".text =
let
packages = map (p: "${p.name}") config.environment.systemPackages;
sortedUnique = builtins.sort builtins.lessThan (pkgs.lib.lists.unique packages);
formatted = builtins.concatStringsSep "\n" sortedUnique;
in
formatted;
services.flatpak.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 = {
${userName} = import (../../.. + "/home/pc/${hostName}/home.nix");
};
};
environment.etc."current-home-manager-packages".text =
let
packages = map (p: "${p.name}") config.home-manager.users.${userName}.home.packages;
sortedUnique = builtins.sort builtins.lessThan (pkgs.lib.lists.unique packages);
formatted = builtins.concatStringsSep "\n" sortedUnique;
in
formatted;
services.gnome.glib-networking.enable = true;
#services.desktopManager.plasma6.enable = true;
services.displayManager.ly = {
enable = true;
};
programs.steam = {
enable = true;
};
xdg.portal = {
enable = true;
config.sway = {
default = [ "gtk" ];
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
"org.freedesktop.impl.portal.ScreenCast" = [ "wlr" ];
"org.freedesktop.impl.portal.ScreenShot" = [ "wlr" ];
"org.freedesktop.impl.portal.Inhibit" = [ ];
};
extraPortals = [
pkgs.xdg-desktop-portal-wlr
pkgs.xdg-desktop-portal-gtk
];
wlr.enable = true;
};
services.blueman.enable = true;
services.printing.enable = true;
services.openssh = {
enable = true;
};
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;
programs.fish.enable = true;
users.users.${userName} = {
isNormalUser = true;
extraGroups = [
"networkmanager"
"wheel"
];
packages = [ ];
shell = pkgs.fish;
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
environment.systemPackages = with pkgs; [
cloudflared
gparted
networkmanagerapplet
nh
pavucontrol
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";
SUDO_EDITOR = "nvim";
BROWSER = "zen";
SHELL = "fish";
TERM = "foot";
};
system.stateVersion = "24.05";
}