arnaucube
arnaucube/configsPublic Self-hosted repository
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}