diff --git a/modules/nixos/configuration.nix b/modules/nixos/configuration.nix index bbde47d..8755bdb 100644 --- a/modules/nixos/configuration.nix +++ b/modules/nixos/configuration.nix @@ -1,8 +1,4 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }:let +{ config, pkgs, ... }: let user = "gene"; hostname = "rainbow-planet"; in { @@ -11,40 +7,42 @@ in { ./hardware-configuration.nix ]; + system.stateVersion = "23.05"; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "${hostname}"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking = { + hostName = "${hostname}"; + networkmanager.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 networking - networking.networkmanager.enable = true; - - # Set your time zone. 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"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; }; - # Enable the X11 windowing system. - services.xserver.enable = true; + services.xserver = { + enable = true; # Enable the X11 windowing system. + + # Configure keymap in X11 + layout = "us"; + xkbVariant = ""; + }; # Enable the GNOME Desktop Environment. services.xserver.displayManager.gdm.enable = true; @@ -54,12 +52,6 @@ in { gnome.gnome-settings-daemon ]; - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; - # Enable CUPS to print documents. services.printing.enable = true; @@ -72,12 +64,6 @@ in { 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). @@ -93,6 +79,10 @@ in { ]; }; + environment.shells = with pkgs; [ bash zsh ]; + users.defaultUserShell = pkgs.zsh; + programs.zsh.enable = true; + security.sudo.wheelNeedsPassword = false; # Allow unfree packages @@ -101,8 +91,6 @@ in { # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - _1password - _1password-gui dconf2nix firefox gnomeExtensions.appindicator @@ -116,13 +104,6 @@ in { vivaldi ]; - # 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; - # }; programs._1password.enable = true; programs._1password-gui = { enable = true; @@ -130,40 +111,18 @@ in { # require enabling PolKit integration on some desktop environments (e.g. Plasma). polkitPolicyOwners = [ "${user}" ]; }; - # List services that you want to enable: - # Enable the OpenSSH daemon. - # services.openssh.enable = true; + nix.settings = { + allowed-users = [ "${user}" ]; + experimental-features = [ + "flakes" + "nix-command" + ]; + }; - # 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.05"; # Did you read the comment? - - nix.settings.allowed-users = [ "${user}" ]; - nix.settings.experimental-features = [ - "flakes" - "nix-command" - ]; - - programs.zsh.enable = true; fonts.fontDir.enable = false; fonts.packages = [ (pkgs.nerdfonts.override { fonts = [ "Hack" "SourceCodePro" ]; }) ]; - - environment.shells = with pkgs; [ bash zsh ]; - users.defaultUserShell = pkgs.zsh; - - }