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 jq
53
54 # other
55 mpv
56 feh
57 kolourpaint
58
59 # browsers
60 firefox
61 qutebrowser
62 chromium
63
64 # languages
65 #texlive.combined.scheme-medium # includes latexmk
66 #texlivePackages.minted
67 pgf-umlsd # latex diagrams
68 pgf
69 (pkgs.texlive.combine {
70 inherit (pkgs.texlive)
71 scheme-medium # includes latexmk
72 minted # syntax highligting
73 pgf
74 ;
75 })
76 #gcc
77 clang
78 clang-tools
79 pkg-config
80 openssl
81 stdenv
82 rustup
83 sage
84 go
85 python3
86 pipx
87 nodejs
88
89 ];
90
91 environment.variables = {
92 LIBCLANG_PATH = "${pkgs.llvmPackages_17.libclang.lib}/lib";
93 PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
94 OPENSSL_DIR = "${pkgs.openssl.dev}";
95 };
96
97 fonts.packages = with pkgs; [
98 dina-font
99 proggyfonts
100 terminus_font
101 fira-code
102 liberation_ttf
103 noto-fonts
104 tamsyn
105 termsyn
106 gohufont
107 ];
108
109 programs.zsh.enable = true;
110 users.defaultUserShell = pkgs.zsh;
111 environment.shells = with pkgs; [zsh];
112
113 xdg.mime.enable=true;
114 xdg.mime.defaultApplications = {
115 "application/pdf" = "zathura";
116 };
117}