@ -0,0 +1,104 @@ |
|||||
|
# This file contains the config shared across different devices. |
||||
|
|
||||
|
{ config, pkgs, ... }: |
||||
|
|
||||
|
{ |
||||
|
# Set your time zone. |
||||
|
time.timeZone = "Europe/Madrid"; |
||||
|
|
||||
|
# Select internationalisation properties. |
||||
|
i18n.defaultLocale = "en_US.UTF-8"; |
||||
|
|
||||
|
i18n.extraLocaleSettings = { |
||||
|
LC_ADDRESS = "es_ES.UTF-8"; |
||||
|
LC_IDENTIFICATION = "es_ES.UTF-8"; |
||||
|
LC_MEASUREMENT = "es_ES.UTF-8"; |
||||
|
LC_MONETARY = "es_ES.UTF-8"; |
||||
|
LC_NAME = "es_ES.UTF-8"; |
||||
|
LC_NUMERIC = "es_ES.UTF-8"; |
||||
|
LC_PAPER = "es_ES.UTF-8"; |
||||
|
LC_TELEPHONE = "es_ES.UTF-8"; |
||||
|
LC_TIME = "es_ES.UTF-8"; |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
environment.systemPackages = with pkgs; [ |
||||
|
# minimal |
||||
|
vim |
||||
|
neovim |
||||
|
wget |
||||
|
tmux |
||||
|
git |
||||
|
delta |
||||
|
tig |
||||
|
mosh |
||||
|
bat |
||||
|
lf |
||||
|
ripgrep |
||||
|
fzf |
||||
|
screenfetch |
||||
|
htop |
||||
|
alacritty |
||||
|
zathura |
||||
|
mate.atril |
||||
|
xclip # to make clipboard work in neovim |
||||
|
xorg.xmodmap |
||||
|
xfce.xfce4-screenshooter |
||||
|
xfce.thunar |
||||
|
xfce.xfconf # needed to save preferences of thunar |
||||
|
xfce.ristretto |
||||
|
pavucontrol |
||||
|
|
||||
|
# other |
||||
|
mpv |
||||
|
feh |
||||
|
kolourpaint |
||||
|
|
||||
|
# browsers |
||||
|
firefox |
||||
|
qutebrowser |
||||
|
chromium |
||||
|
|
||||
|
# languages |
||||
|
texlive.combined.scheme-medium # includes latexmk |
||||
|
#pgf-umlsd # latex diagrams |
||||
|
#pgf |
||||
|
#(pkgs.texlive.combine { |
||||
|
# inherit (pkgs.texlive) |
||||
|
# scheme-medium |
||||
|
# pgf |
||||
|
# ; |
||||
|
#}) |
||||
|
#gcc |
||||
|
clang |
||||
|
clang-tools |
||||
|
stdenv |
||||
|
rustup |
||||
|
sage |
||||
|
go |
||||
|
python3 |
||||
|
nodejs |
||||
|
|
||||
|
]; |
||||
|
|
||||
|
environment.variables = { |
||||
|
LIBCLANG_PATH = "${pkgs.llvmPackages_17.libclang.lib}/lib"; |
||||
|
}; |
||||
|
|
||||
|
fonts.packages = with pkgs; [ |
||||
|
dina-font |
||||
|
proggyfonts |
||||
|
terminus_font |
||||
|
fira-code |
||||
|
liberation_ttf |
||||
|
noto-fonts |
||||
|
tamsyn |
||||
|
termsyn |
||||
|
gohufont |
||||
|
]; |
||||
|
|
||||
|
programs.zsh.enable = true; |
||||
|
users.defaultUserShell = pkgs.zsh; |
||||
|
environment.shells = with pkgs; [zsh]; |
||||
|
|
||||
|
} |
@ -1,3 +1,5 @@ |
|||||
|
# This file is meant to be renamed to `configuration.nix` |
||||
|
|
||||
# Edit this configuration file to define what should be installed on |
# Edit this configuration file to define what should be installed on |
||||
# your system. Help is available in the configuration.nix(5) man page |
# your system. Help is available in the configuration.nix(5) man page |
||||
# and in the NixOS manual (accessible by running ‘nixos-help’). |
# and in the NixOS manual (accessible by running ‘nixos-help’). |
@ -0,0 +1,78 @@ |
|||||
|
# This file is meant to be renamed to `configuration.nix` |
||||
|
|
||||
|
# Edit this configuration file to define what should be installed on |
||||
|
# your system. Help is available in the configuration.nix(5) man page |
||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’). |
||||
|
|
||||
|
{ config, pkgs, ... }: |
||||
|
|
||||
|
{ |
||||
|
imports = |
||||
|
[ |
||||
|
./common-configuration.nix |
||||
|
./hardware-configuration.nix |
||||
|
./private-configuration.nix |
||||
|
]; |
||||
|
|
||||
|
# Bootloader. |
||||
|
boot.loader.systemd-boot.enable = true; |
||||
|
boot.loader.efi.canTouchEfiVariables = true; |
||||
|
|
||||
|
networking.hostName = "nixos"; # Define your hostname. |
||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
||||
|
|
||||
|
# Enable networking |
||||
|
networking.networkmanager.enable = true; |
||||
|
|
||||
|
services.displayManager = { |
||||
|
defaultSession = "none+i3"; |
||||
|
}; |
||||
|
services.xserver = { |
||||
|
xkb = { # Configure keymap in X11 |
||||
|
layout = "us"; |
||||
|
variant = ""; |
||||
|
}; |
||||
|
|
||||
|
enable=true; |
||||
|
#displayManager = { |
||||
|
# defaultSession = "none+i3"; |
||||
|
#}; |
||||
|
windowManager.i3 = { |
||||
|
enable=true; |
||||
|
extraPackages = with pkgs; [ |
||||
|
dmenu |
||||
|
i3status |
||||
|
i3lock |
||||
|
]; |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
# Define a user account |
||||
|
users.users.user = { |
||||
|
isNormalUser = true; |
||||
|
description = "user"; |
||||
|
extraGroups = [ "networkmanager" "wheel" ]; |
||||
|
packages = with pkgs; []; |
||||
|
}; |
||||
|
|
||||
|
# Allow unfree packages |
||||
|
nixpkgs.config.allowUnfree = true; |
||||
|
|
||||
|
|
||||
|
# This value determines the NixOS release from which the default |
||||
|
# settings for stateful data, like file locations and database versions |
||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave |
||||
|
# this value at the release version of the first install of this system. |
||||
|
# Before changing this value read the documentation for this option |
||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). |
||||
|
system.stateVersion = "24.05"; # Did you read the comment? |
||||
|
|
||||
|
# gvfs needed for Thunar to detect external disks |
||||
|
services.gvfs.enable = true; |
||||
|
|
||||
|
# bluetooth related |
||||
|
hardware.bluetooth.enable = true; |
||||
|
services.blueman.enable = true; |
||||
|
|
||||
|
hardware.pulseaudio.enable = true; |
||||
|
} |