flakes/configuration.nix
2025-10-04 13:40:54 +02:00

138 lines
3.0 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ pkgs, input, ... }:
{
imports = [ ./hardware-configuration.nix ];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = "laptop";
# Enable networking
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
# Set your time zone.
time.timeZone = "Europe/Rome";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "it_IT.UTF-8";
LC_IDENTIFICATION = "it_IT.UTF-8";
LC_MEASUREMENT = "it_IT.UTF-8";
LC_MONETARY = "it_IT.UTF-8";
LC_NAME = "it_IT.UTF-8";
LC_NUMERIC = "it_IT.UTF-8";
LC_PAPER = "it_IT.UTF-8";
LC_TELEPHONE = "it_IT.UTF-8";
LC_TIME = "it_IT.UTF-8";
};
# Enable the GNOME Desktop Environment.
services = {
blueman.enable = true;
power-profiles-daemon.enable = true;
fprintd.enable = true;
printing.enable = true;
displayManager.ly = { enable = true; };
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
gnome.gnome-keyring.enable = true;
};
security.rtkit.enable = true;
xdg.portal = {
enable = true;
wlr.enable = true;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.user = {
isNormalUser = true;
description = "user";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [ ];
};
users.extraUsers.user = { shell = pkgs.zsh; };
fonts.packages = with pkgs; [ nerd-fonts.iosevka ];
programs = {
zsh.enable = true;
xwayland.enable = true;
gnupg = { agent.enable = true; };
sway = {
enable = true;
wrapperFeatures.gtk = true;
extraPackages = with pkgs; [
xss-lock
networkmanagerapplet
pavucontrol
brightnessctl
foot
ghostty
grim
pulseaudio
swayidle
swaylock
waybar
wofi
zathura
easyeffects
yt-dlp
mpv
tmux
mako
bibata-cursors
wl-clipboard
adw-gtk3
xfce.thunar
wluma
blueman
wlsunset
playerctl
sway-contrib.grimshot
wf-recorder
adwaita-icon-theme
kdePackages.polkit-kde-agent-1
];
};
};
virtualisation.docker.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; [ git neovim ];
system = {
stateVersion = "25.05";
autoUpgrade = {
enable = true;
dates = "20:00";
randomizedDelaySec = "45min";
};
};
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
}