Jafner.net/nix/nixos/configuration.nix
2024-09-13 14:55:27 -07:00

106 lines
2.7 KiB
Nix

{ config, pkgs, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
];
environment.etc."current-system-packages".text =
let
packages = builtins.map (p: "${ p.name }") config.environment.systemPackages;
sortedUnique = builtins.sort builtins.lessThan (pkgs.lib.lists.unique packages);
formatted = builtins.concatStringsSep "\n" sortedUnique;
in
formatted;
security.sudo = {
enable = true;
extraRules = [{
commands = [
{
command = "ALL";
options = [ "NOPASSWD" ];
}
];
groups = [ "wheel" ];
}];
};
services.openssh = {
enable = true;
settings.PasswordAuthentication = false;
settings.KbdInteractiveAuthentication = false;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "joey-laptop";
networking.networkmanager.enable = true;
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.printing.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.joey = {
isNormalUser = true;
description = "joey";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
];
};
systemd.services."getty@tty1".enable = false;
systemd.services."autovt@tty1".enable = false;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
vim
git
fastfetch
waybar mako libnotify swww kitty rofi-wayland polkit-kde-agent wl-clipboard
];
#programs.kitty.enable = true; # This line is present in hyprland's install docs, but seems to be invalid
programs.hyprland.enable = true;
#programs.hyprland.xwayland.enable = true;
#programs.hyprland.package = inputs.hyprland.packages."${pkgs.system}".hyprland;
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
xdg.portal.config.common.default = "*";
system.stateVersion = "24.05";
}