diff --git a/configuration.nix b/configuration.nix index 7c295d7..9ba462b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,19 +1,13 @@ -# Edit this configuration file to define what should be installed o -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ ./hardware-configuration.nix ]; - # Bootloader. (UEFI) + # Bootloader (UEFI) boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + # LUKS devices boot.initrd.luks.devices."luks-1ec6d49d-7a0b-4ac9-aaea-e8efc1c75ac0".device = "/dev/disk/by-uuid/1ec6d49d-7a0b-4ac9-aaea-e8efc1c75ac0"; # Autoupgrade @@ -32,32 +26,26 @@ }; }; - networking.hostName = "nixos"; # Define your hostname. + # Hostname + networking.hostName = "nixos"; - # Enable KDE Partition Manager + # KDE Partition Manager programs.partition-manager.enable = true; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable zsh + # zsh programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; - # Enable networking + # WLAN networking.networkmanager.enable = true; - # Enable Bluetooth + # Bluetooth hardware.bluetooth.enable = true; - # Set your time zone. + # i18n time.timeZone = "America/New_York"; - - # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; @@ -70,27 +58,26 @@ LC_TIME = "en_US.UTF-8"; }; - # Enable the X11 windowing system. + # X11 services.xserver.enable = true; - # Enable the KDE Plasma Desktop Environment. + # Plasma 6 services.desktopManager.plasma6.enable = true; - # Automatic login (to avoid entering a second pasword after LUKS decryption) + # Automatic login (to avoid entering a second pasword) services.xserver.displayManager.autoLogin.enable = true; services.xserver.displayManager.autoLogin.user = "alexuty"; - # Configure keymap in X11 + # Keyboard settings (xkb) services.xserver.xkb = { layout = "us,es"; - options = "eurosign:e,compose:rctl,grp:win_space_toggle"; + options = "eurosign:e/*,compose:rctl*/,grp:win_space_toggle"; }; - # Enable CUPS to print documents. + # CUPS services.printing.enable = true; - - # Enable sound with pipewire. + # Pipewire sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; @@ -99,22 +86,16 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). + # Touchpad support services.xserver.libinput.enable = true; - # Enable Virtualization with virt-manager + # Virtualization with virt-manager virtualisation.libvirtd.enable = true; programs.virt-manager.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. + # User account. Set a password with ‘passwd’ users.users.alexuty = { isNormalUser = true; description = "Alex Santiago"; @@ -148,9 +129,6 @@ ]; }; - # Enable automatic login for the user. - # services.getty.autologinUser = "alexuty"; - # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -185,31 +163,9 @@ zsh-powerlevel10k ]; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. + # OpenSSH daemon services.openssh.enable = true; - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? + system.stateVersion = "23.11"; }