about summary refs log tree commit diff
path: root/nix/configuration.nix
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2021-07-07 22:14:22 +0700
committerNguyễn Gia Phong <mcsinyx@disroot.org>2021-07-07 22:14:22 +0700
commitf140f08bc6c39037958048294fd241a28d8da607 (patch)
treea825016ac64b2a3be8a012011397a1da7f25bb38 /nix/configuration.nix
parent88051c9ccfa9b863b41f0ae86dbb1caaeb739743 (diff)
downloaddotfiles-f140f08bc6c39037958048294fd241a28d8da607.tar.gz
Snapshot config before there're too much
I thought I could always make meaningful config msgs.
Diffstat (limited to 'nix/configuration.nix')
-rw-r--r--nix/configuration.nix108
1 files changed, 108 insertions, 0 deletions
diff --git a/nix/configuration.nix b/nix/configuration.nix
new file mode 100644
index 0000000..83d28c9
--- /dev/null
+++ b/nix/configuration.nix
@@ -0,0 +1,108 @@
+# 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 = {
+    efi.canTouchEfiVariables = true;
+    grub = {
+      enable = true;
+      device = "nodev";
+      efiSupport = true;
+      useOSProber = true;
+      splashImage = null;
+    };
+  };
+
+  networking = {
+    hostName = "nix";
+    nameservers = [ "9.9.9.11" "149.112.112.11" ];
+    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;
+
+    # Overcoming my strange addiction
+    extraHosts = ''
+      127.0.0.1 9gag.com
+    '';
+  };
+
+  # 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" ];
+  };
+
+  nix.autoOptimiseStore = true;
+  environment.systemPackages = with pkgs; [
+    htop isync killall oathToolkit rsync stow unzip w3m wget
+    mpv pavucontrol sent vimiv-qt yacreader youtube-dl
+    ffmpeg gifski gimp imagemagick inkscape simplescreenrecorder
+  ];
+
+  security.rtkit.enable = true;
+  # List services that you want to enable:
+  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;
+    };
+
+    printing = {
+      enable = true;
+      drivers = with pkgs; [ hplipWithPlugin ];
+    };
+
+    dictd = {
+      enable = true;
+      DBs = with pkgs.dictdDBs; [ wiktionary wordnet ];
+    };
+  };
+
+  # 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?
+}