about summary refs log tree commit diff
path: root/system/modules/common.nix
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2020-03-28T03·32-0400
committerGriffin Smith <root@gws.fyi>2020-03-28T15·47-0400
commit28ccec970435f9acfdecfae95848947c8b751e09 (patch)
tree4a55bdaab006c46cd5ad86d407d7d80fab8ed57f /system/modules/common.nix
Initial commit
It begins...
Diffstat (limited to 'system/modules/common.nix')
-rw-r--r--system/modules/common.nix106
1 files changed, 106 insertions, 0 deletions
diff --git a/system/modules/common.nix b/system/modules/common.nix
new file mode 100644
index 0000000000..27f4a73f09
--- /dev/null
+++ b/system/modules/common.nix
@@ -0,0 +1,106 @@
+{ config, lib, pkgs, ... }:
+
+{
+  imports =
+    [
+      ./xserver.nix
+      ./emacs.nix
+      ./sound.nix
+    ];
+
+  boot.loader.systemd-boot.enable = true;
+  boot.loader.efi.canTouchEfiVariables = true;
+
+  networking.hostName = "bumblebee";
+  networking.useDHCP = false;
+  networking.networkmanager.enable = true;
+
+  # Select internationalisation properties.
+  # i18n = {
+  #   consoleFont = "Lat2-Terminus16";
+  #   consoleKeyMap = "us";
+  #   defaultLocale = "en_US.UTF-8";
+  # };
+
+  # Set your time zone.
+  time.timeZone = "America/New_York";
+
+  environment.systemPackages = with pkgs; [
+    wget
+    vim
+    zsh
+    git
+    w3m
+    libnotify
+    file
+  ];
+
+  # 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;
+  #   pinentryFlavor = "gnome3";
+  # };
+
+  programs.nm-applet.enable = true;
+
+
+  services.openssh.enable = true;
+
+  # Open ports in the firewall.
+  # networking.firewall.allowedTCPPorts = [ ... ];
+  # networking.firewall.allowedUDPPorts = [ ... ];
+  # Or disable the firewall altogether.
+  networking.firewall.enable = false;
+
+  # Enable CUPS to print documents.
+  # services.printing.enable = true;
+
+  users.mutableUsers = true;
+  programs.zsh.enable = true;
+  environment.pathsToLink = [ "/share/zsh" ];
+  users.users.grfn = {
+    isNormalUser = true;
+    initialPassword = "password";
+    extraGroups = [
+      "wheel"  # Enable ‘sudo’ for the user.
+      "networkmanager"
+      "audio"
+    ];
+    shell = pkgs.zsh;
+  };
+
+  # 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 = "20.03"; # Did you read the comment?
+
+  nixpkgs.config.allowUnfree = true;
+
+  fonts.fonts = with pkgs; [
+    nerdfonts
+  ];
+
+  services.geoclue2.enable = true;
+
+  powerManagement = {
+    enable = true;
+    cpuFreqGovernor = "powersave";
+    powertop.enable = true;
+  };
+  # Hibernate on low battery
+  laptop.onLowBattery = {
+    enable = true;
+    action = "hibernate";
+    thresholdPercentage = 5;
+  };
+
+  nix = {
+    autoOptimiseStore = true;
+  };
+}