{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; nixpkgs.config.allowUnfree = true; networking.hostName = "gAluminum"; time.timeZone = "Europe/London"; i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "us"; }; # Xserver services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; # Configure keymap in X11 services.xserver.layout = "us"; services.xserver.xkbOptions = "eurosign:e"; # Enable CUPS to print documents. services.printing.enable = true; # Enable sound. sound.enable = true; hardware.pulseaudio.enable = true; # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.giulio = { description = "Giulio De Pasquale"; isNormalUser = true; shell = pkgs.zsh; extraGroups = [ "wheel" "docker" "networkmanager" ]; }; programs.zsh.enableCompletion = true; programs.zsh.enableBashCompletion = true; services.dbus.packages = with pkgs; [ gnome3.dconf ]; services.udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; environment.systemPackages = with pkgs; [ wget git pciutils curl virtualbox cmake ninja gdb htop glances tcpdump restic gnomeExtensions.appindicator binutils efibootmgr neovim home-manager ]; fonts.fonts = with pkgs; [cascadia-code]; system.stateVersion = "21.05"; # Did you read the comment? security.pam.services.gdm.enableGnomeKeyring = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot/efi"; boot.loader.systemd-boot.enable = true; boot.initrd.luks.devices = { root = { device = "/dev/disk/by-uuid/c2bac3a6-0999-4e1d-a676-bf4bcafee2d4"; preLVM = true; allowDiscards = true; }; }; networking.wg-quick.interfaces = { giupi = { address = ["10.3.0.2/32"]; privateKeyFile = "/etc/wireguard/giupi.key"; dns = ["10.3.0.1"]; peers = [ { publicKey = "I4glUMvIGjjhvQMKhwGc8copPl2t9Us/YYRjT0BKuiw="; allowedIPs = ["0.0.0.0/0"]; endpoint = "giugl.io:1194"; persistentKeepalive = 25; } ]; }; }; fileSystems."/tmp" = { device = "tmpfs"; fsType = "tmpfs"; options = ["size=2G"]; }; fileSystems."/home/giulio/Downloads" = { device = "tmpfs"; fsType = "tmpfs"; options = ["size=3G"]; }; }