Files
nixos/hosts/aspire-laptop/configuration.nix

148 lines
2.8 KiB
Nix
Executable File

{ pkgs, ... }:
let
tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-small latexmk;
};
in
{
imports = [
./hardware-configuration.nix
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
networking.hostName = "aspire-laptop";
networking.networkmanager.enable = true;
networking.nameservers = [ "1.1.1.1" "8.8.8.8" ];
time.timeZone = "Australia/Melbourne";
i18n.defaultLocale = "en_AU.UTF-8";
console.useXkbConfig = true;
services.xserver.enable = true;
services.xserver.xkb.layout = "au";
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
programs.hyprland.enable = true;
programs.hyprland.xwayland.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
pkgs.kdePackages.xdg-desktop-portal-kde
];
security.polkit.enable = true;
programs.dconf.enable = true;
services.openssh = {
enable = true;
openFirewall = true;
settings = {
PasswordAuthentication = true;
KbdInteractiveAuthentication = false;
PermitRootLogin = "no";
};
};
services.libinput.enable = true;
services.pipewire.enable = true;
services.pipewire.pulse.enable = true;
services.pipewire.alsa.enable = true;
services.pipewire.alsa.support32Bit = true;
security.rtkit.enable = true;
zramSwap.enable = true;
services.tailscale.enable = true;
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
users.users.sam = {
isNormalUser = true;
description = "sam";
extraGroups = [
"wheel"
"networkmanager"
"audio"
"video"
];
shell = pkgs.zsh;
};
environment.systemPackages = with pkgs; [
# Browsers / editors
google-chrome
vscode
thunderbird
# KDE apps (Plasma includes Dolphin usually, but we pin it)
kdePackages.dolphin
# Base tools
git
curl
wget
jq
# CLI tools you listed
atuin
zellij
starship
fzf
ripgrep
fd
bat
btop
zoxide
eza
yazi
tealdeer
navi
dua
lazygit
gh
borgbackup
# Terminal
kitty
# Clipboard
wl-clipboard
xclip
# Neovim + build deps for treesitter/etc.
neovim
gcc
gnumake
unzip
# Markdown / LaTeX (small)
pandoc
tex
zathura
zathuraPkgs.zathura_pdf_mupdf
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.configurationLimit = 20;
boot.loader.efi.efiSysMountPoint="/boot/efi";
networking.firewall.enable = true;
system.stateVersion = "25.11";
}