169 lines
3.5 KiB
Nix
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";
|
|
}
|