configs/nixos/common-configuration.nix
nixos/common-configuration.nixRaw
1# This file contains the config shared across different devices.
2
3{ config, pkgs, ... }:
4
5{
6 # Set your time zone.
7 time.timeZone = "Europe/Madrid";
8
9 # Select internationalisation properties.
10 i18n.defaultLocale = "en_US.UTF-8";
11
12 i18n.extraLocaleSettings = {
13 LC_ADDRESS = "es_ES.UTF-8";
14 LC_IDENTIFICATION = "es_ES.UTF-8";
15 LC_MEASUREMENT = "es_ES.UTF-8";
16 LC_MONETARY = "es_ES.UTF-8";
17 LC_NAME = "es_ES.UTF-8";
18 LC_NUMERIC = "es_ES.UTF-8";
19 LC_PAPER = "es_ES.UTF-8";
20 LC_TELEPHONE = "es_ES.UTF-8";
21 LC_TIME = "es_ES.UTF-8";
22 };
23
24
25 environment.systemPackages = with pkgs; [
26 # utilities
27 wget
28 tmux
29 git
30 delta
31 tig
32 mosh
33 bat
34 ripgrep
35 fzf
36 screenfetch
37 htop
38 jq
39 keynav
40 unzip
41 gnutar
42 xorg.xmodmap # keyboard remapping
43 xfce.xfce4-screenshooter
44
45 # code editors
46 vim
47 neovim
48 vimHugeX # to make clipboard work in vim
49 xclip # to make clipboard work in neovim
50
51 # terminals
52 alacritty
53 kitty
54
55 # pdf
56 zathura
57 mate.atril
58
59 # file explorers/managers
60 lf
61 yazi
62 xfce.thunar
63 xfce.xfconf # needed to save preferences of thunar
64 xfce.ristretto
65 xfce.tumbler # for thumbnails of imgs
66
67 # media
68 pavucontrol
69 mpv
70 vlc
71 feh
72 kolourpaint
73 calibre
74
75 # browsers
76 firefox
77 qutebrowser
78 chromium
79
80 # languages
81 #texlive.combined.scheme-medium # includes latexmk
82 #texlivePackages.minted
83 pgf-umlsd # latex diagrams
84 pgf
85 (pkgs.texlive.combine {
86 inherit (pkgs.texlive)
87 scheme-medium # includes latexmk
88 minted # syntax highligting
89 pgf
90 ;
91 })
92 #gcc
93 clang
94 clang-tools
95 pkg-config
96 openssl
97 stdenv
98 rustup
99 wabt # wasm binary toolkit
100 wasmedge # to execute wasm binaries
101 sage
102 go
103 (python3.withPackages(ps: with ps; [
104 matplotlib numpy
105 ]))
106 pipx
107 nodejs
108 ];
109
110 environment.variables = {
111 LIBCLANG_PATH = "${pkgs.llvmPackages_17.libclang.lib}/lib";
112 PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
113 OPENSSL_DIR = "${pkgs.openssl.dev}";
114 };
115
116 fonts.packages = with pkgs; [
117 dina-font
118 proggyfonts
119 terminus_font
120 fira-code
121 liberation_ttf
122 noto-fonts
123 tamsyn
124 termsyn
125 gohufont
126 ];
127
128 programs.zsh.enable = true;
129 users.defaultUserShell = pkgs.zsh;
130 environment.shells = with pkgs; [zsh];
131
132 xdg.mime.enable=true;
133 xdg.mime.defaultApplications = {
134 "application/pdf" = "zathura";
135 };
136}