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 # minimal
27 vim
28 neovim
29 wget
30 tmux
31 git
32 delta
33 tig
34 mosh
35 bat
36 lf
37 ripgrep
38 fzf
39 screenfetch
40 htop
41 alacritty
42 zathura
43 mate.atril
44 xclip # to make clipboard work in neovim
45 xorg.xmodmap
46 xfce.xfce4-screenshooter
47 xfce.thunar
48 xfce.xfconf # needed to save preferences of thunar
49 xfce.ristretto
50 xfce.tumbler # for thumbnails of imgs
51 pavucontrol
52
53 # other
54 mpv
55 feh
56 kolourpaint
57
58 # browsers
59 firefox
60 qutebrowser
61 chromium
62
63 # languages
64 texlive.combined.scheme-medium # includes latexmk
65 pgf-umlsd # latex diagrams
66 pgf
67 (pkgs.texlive.combine {
68 inherit (pkgs.texlive)
69 scheme-medium
70 pgf
71 ;
72 })
73 #gcc
74 clang
75 clang-tools
76 stdenv
77 rustup
78 sage
79 go
80 python3
81 nodejs
82
83 ];
84
85 environment.variables = {
86 LIBCLANG_PATH = "${pkgs.llvmPackages_17.libclang.lib}/lib";
87 };
88
89 fonts.packages = with pkgs; [
90 dina-font
91 proggyfonts
92 terminus_font
93 fira-code
94 liberation_ttf
95 noto-fonts
96 tamsyn
97 termsyn
98 gohufont
99 ];
100
101 programs.zsh.enable = true;
102 users.defaultUserShell = pkgs.zsh;
103 environment.shells = with pkgs; [zsh];
104
105 xdg.mime.enable=true;
106 xdg.mime.defaultApplications = {
107 "application/pdf" = "zathura";
108 };
109}