{ pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; # Bootloader. boot.loader.efi.canTouchEfiVariables = true; boot.loader.systemd-boot = { enable = true; consoleMode = "auto"; }; networking.hostName = "nixy"; # Enable networking networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "Europe/Paris"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "fr_FR.UTF-8"; LC_IDENTIFICATION = "fr_FR.UTF-8"; LC_MEASUREMENT = "fr_FR.UTF-8"; LC_MONETARY = "fr_FR.UTF-8"; LC_NAME = "fr_FR.UTF-8"; LC_NUMERIC = "fr_FR.UTF-8"; LC_PAPER = "fr_FR.UTF-8"; LC_TELEPHONE = "fr_FR.UTF-8"; LC_TIME = "fr_FR.UTF-8"; }; # Configure keymap in X11 services.xserver = { xkb.layout = "fr"; xkb.variant = ""; }; console.keyMap = "fr"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; users.users.hadi = { isNormalUser = true; description = "hadi"; extraGroups = [ "networkmanager" "wheel" ]; }; # Allow unfree packages nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ networkmanagerapplet ]; nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" "nix-2.16.2" ]; hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; services.xserver.videoDrivers = [ "nvidia" ]; services.gnome.gnome-keyring.enable = true; hardware.nvidia = { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = false; open = false; nvidiaSettings = true; }; hardware.bluetooth.enable = true; services.blueman.enable = true; # Set environment variables environment.variables = { XDG_DATA_HOME = "$HOME/.local/share"; PASSWORD_STORE_DIR = "$HOME/.local/share/password-store"; MOZ_ENABLE_WAYLAND = "1"; EDITOR = "nvim"; ANKI_WAYLAND = "1"; DISABLE_QT5_COMPAT = "0"; NIXOS_OZONE_WL = "1"; }; # Sound sound = { enable = true; }; security.rtkit.enable = true; hardware.pulseaudio.enable = false; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; wireplumber.enable = true; }; system.stateVersion = "23.11"; }