{ 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; [ firefox nextcloud-client keepassxc signal-desktop luarocks python3 unzip wget go nodejs tree-sitter gcc ripgrep fd cargo texliveFull jdk21 eza zoxide fzf docker-compose btop freecad orca-slicer ]; }; 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 ]; environment = { variables = { JAVA_HOME = "${pkgs.jdk21}/lib/openjdk"; GTK_THEME = "Adwaita:dark"; XCURSOR_THEME = "Bibata-Modern-Clasic"; }; }; system = { stateVersion = "25.05"; autoUpgrade = { enable = true; dates = "20:00"; randomizedDelaySec = "45min"; }; }; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; # home-manager = { # extraSpecialArgs = { inherit input; }; # users = { "user" = import ./home.nix; }; # }; # home-manager.users.user = import ./home.nix; }