@ -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 |
|||
# your system. Help is available in the configuration.nix(5) man page |
|||
# 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; |
|||
} |