about summary refs log tree commit diff
path: root/nix/etc/nixos/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/etc/nixos/configuration.nix')
-rw-r--r--nix/etc/nixos/configuration.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/nix/etc/nixos/configuration.nix b/nix/etc/nixos/configuration.nix
new file mode 100644
index 0000000..7e6e108
--- /dev/null
+++ b/nix/etc/nixos/configuration.nix
@@ -0,0 +1,85 @@
+# Help is available in the configuration.nix(5) man page
+# and in the NixOS manual (accessible by running 'nixos-help').
+
+{ config, pkgs, ... }:
+
+{
+  imports = [
+    ./hardware-configuration.nix
+    ./awesome.nix
+    ./devel.nix
+    ./games.nix
+  ];
+
+  # Use the systemd-boot EFI boot loader.
+  boot.loader = {
+    systemd-boot.enable = true;
+    efi.canTouchEfiVariables = true;
+    grub.useOSProber = true;
+  };
+
+  networking = {
+    hostName = "nix";
+    networkmanager.enable = true;
+
+    # The global useDHCP flag is deprecated, therefore explicitly set
+    # to false here.  Per-interface useDHCP will be mandatory in the future,
+    # so this generated config replicates the default behaviour.
+    useDHCP = false;
+    interfaces.enp1s0.useDHCP = true;
+    interfaces.wlp2s0.useDHCP = true;
+
+    # Configure network proxy if necessary
+    # proxy.default = "http://user:password@proxy:port/";
+    # proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+    # Open ports in the firewall.
+    # firewall.allowedTCPPorts = [ ... ];
+    # firewall.allowedUDPPorts = [ ... ];
+    # Or disable the firewall altogether.
+    # firewall.enable = false;
+  };
+
+  # Set your time zone.
+  time.timeZone = "Asia/Ho_Chi_Minh";
+
+  # Select internationalisation properties.
+  # console = {
+  #   font = "Lat2-Terminus16";
+  #   keyMap = "us";
+  # };
+
+  users.users.sea = {
+    isNormalUser = true;
+    extraGroups = [ "networkmanager" "wheel" ];
+  };
+
+  environment.systemPackages = with pkgs; [
+    htop isync killall oathToolkit rsync stow w3m wget
+    ffmpeg mpv pavucontrol pqiv
+  ];
+
+  # List services that you want to enable:
+  services.printing.enable = true;
+
+  security.rtkit.enable = true;
+  services.pipewire = {
+    enable = true;
+    alsa.enable = true;
+    alsa.support32Bit = true;
+    pulse.enable = true;
+    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;
+  };
+
+  # 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 = "21.05"; # Did you read the comment?
+}