summaryrefslogtreecommitdiff
path: root/nix/configuration.nix
blob: ec0a161a8e0905fd2101d5677cfc861a4b8230fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
  config,
  pkgs,
  ...
}: {
  imports = [./hardware-configuration.nix];
  boot.loader.systemd-boot.enable = true;
  networking.hostName = "nixos";
  nix.settings.experimental-features = ["nix-command" "flakes"];

  time.timeZone = "Europe/Berlin";
  networking.networkmanager.enable = true;
  i18n.defaultLocale = "en_US.UTF-8";

  users.users.tom = {
    isNormalUser = true;
    extraGroups = ["wheel" "networkmanager" "video"];
    shell = pkgs.zsh;
  };

  hardware.pulseaudio.enable = true;
  services.openssh.enable = true;
  services.xserver.enable = true;
  services.xserver.autorun = false;
  services.xserver.displayManager.startx.enable = true;
  services.xserver.libinput.enable = true;

  environment.variables.EDITOR = "vim";

  environment.systemPackages = with pkgs; [
    acpi
    crawl
    curl
    dmenu
    feh
    file
    firefox
    fzf
    git
    htop
    jq
    lm_sensors
    ncdu
    ncmpcpp
    nixfmt
    nmap
    (pass.withExtensions (ext: with ext; [pass-otp]))
    pavucontrol
    pinentry-curses
    ranger
    scrot
    tmux
    tree
    vim
    wget
  ];

  programs.slock.enable = true;
  programs.light.enable = true;
  programs.gnupg.agent = {
    enable = true;
    enableSSHSupport = true;
    pinentryFlavor = null;
  };
  programs.zsh.enable = true;
  programs.zsh.autosuggestions.enable = true;
  programs.zsh.syntaxHighlighting.enable = true;

  fonts.fonts = with pkgs; [hermit];

  system.stateVersion = "23.05";
  zramSwap.enable = true;
}