mirror of
https://github.com/arnaucube/configs.git
synced 2026-02-10 04:26:41 +01:00
282 lines
5.8 KiB
Nix
282 lines
5.8 KiB
Nix
# 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 = "en_US.UTF-8";
|
|
};
|
|
|
|
# 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
|
|
# ];
|
|
# };
|
|
};
|
|
# --- sway wm config:
|
|
services.xserver.displayManager.gdm.enable=true;
|
|
#services.displayManager.sessionPackages = [ pkgs.sway ];
|
|
#services.xserver.displayManager.gdm.wayland=false;
|
|
#services.xserver.displayManager.plasma5.enable=true;
|
|
# Enable the gnome-keyring secrets vault.
|
|
# Will be exposed through DBus to programs willing to store secrets.
|
|
services.gnome.gnome-keyring.enable = true;
|
|
# enable sway wm
|
|
programs.sway = {
|
|
enable = true;
|
|
wrapperFeatures.gtk = true;
|
|
};
|
|
security.polkit.enable = true;
|
|
# --- end of sway config.
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
# sway wm utilities
|
|
grim # screenshot functionality
|
|
slurp # screenshot functionality
|
|
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
|
mako # notification system developed by swaywm maintainer
|
|
|
|
# utilities
|
|
wget
|
|
tmux
|
|
git
|
|
delta
|
|
tig
|
|
mosh
|
|
bat
|
|
ripgrep
|
|
fzf
|
|
screenfetch
|
|
htop
|
|
jq
|
|
keynav
|
|
unzip
|
|
gnutar
|
|
xorg.xmodmap # keyboard remapping
|
|
xfce.xfce4-screenshooter
|
|
pulseaudio
|
|
usbutils
|
|
time
|
|
#impala # nmtui alternative
|
|
fastfetch
|
|
rpm
|
|
pdfgrep # to find strings across pdfs in directories
|
|
|
|
# code editors
|
|
vim
|
|
neovim
|
|
vimHugeX # to make clipboard work in vim
|
|
xclip # to make clipboard work in neovim
|
|
|
|
# terminals
|
|
alacritty
|
|
kitty
|
|
|
|
# pdf
|
|
zathura
|
|
mate.atril
|
|
|
|
# file explorers/managers
|
|
lf
|
|
yazi
|
|
xfce.thunar
|
|
xfce.xfconf # needed to save preferences of thunar
|
|
xfce.ristretto
|
|
xfce.tumbler # for thumbnails of imgs
|
|
# for detecting usbs:
|
|
xfce.thunar-volman
|
|
gvfs
|
|
polkit_gnome
|
|
udiskie
|
|
|
|
# media
|
|
pavucontrol
|
|
mpv
|
|
vlc
|
|
feh
|
|
#kolourpaint
|
|
gimp
|
|
calibre
|
|
tauon
|
|
libsForQt5.kdenlive
|
|
libreoffice-qt6
|
|
ffmpeg
|
|
|
|
# browsers
|
|
firefox
|
|
qutebrowser
|
|
chromium
|
|
|
|
# languages
|
|
#texlive.combined.scheme-medium # includes latexmk
|
|
#texlivePackages.minted
|
|
pgf-umlsd # latex diagrams
|
|
pgf
|
|
(pkgs.texlive.combine {
|
|
inherit (pkgs.texlive)
|
|
scheme-medium # includes latexmk
|
|
minted # syntax highligting
|
|
pgf
|
|
;
|
|
})
|
|
gnumake
|
|
gcc
|
|
clang
|
|
clang-tools
|
|
|
|
openssl
|
|
openssl.dev
|
|
glib # GLib base library
|
|
#gio # GIO library
|
|
gdk-pixbuf # GDK Pixbuf library
|
|
gtk3 # GTK3 including GDK, relevant for gdk-sys
|
|
atk # Accessibility Toolkit
|
|
cairo # 2D graphics library
|
|
pango # Text layout and rendering
|
|
pkg-config # Needed for pkg-config to find .pc files
|
|
cmake
|
|
|
|
stdenv
|
|
rustup
|
|
wabt # wasm binary toolkit
|
|
wasmedge # to execute wasm binaries
|
|
sage
|
|
coq
|
|
coqPackages.mathcomp
|
|
#coqPackages.coqide
|
|
opam # ocaml package manager, for coq packages
|
|
go
|
|
(python3.withPackages(ps: with ps; [
|
|
matplotlib numpy
|
|
qmk
|
|
meshtastic esptool # meshtastic related
|
|
unicodeit
|
|
setuptools
|
|
]))
|
|
pipx
|
|
nodejs
|
|
pnpm
|
|
|
|
# other
|
|
qmk
|
|
vial
|
|
via
|
|
|
|
freecad
|
|
orca-slicer
|
|
];
|
|
|
|
environment.variables = {
|
|
OPENSSL_DEV = "${pkgs.openssl.dev}";
|
|
OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib";
|
|
OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include";
|
|
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
|
|
|
|
OPENSSL_NO_VENDOR="1";
|
|
OPENSSL_STATIC="0";
|
|
|
|
# for screen sharing in sway
|
|
XDG_CURRENT_DESKTOP = "sway";
|
|
XDG_SESSION_TYPE="wayland";
|
|
|
|
WAYLAND_DISPLAY="wayland-1";
|
|
XDG_RUNTIME_DIR="/run/user/$(id -u)";
|
|
};
|
|
|
|
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];
|
|
|
|
# set default pdf reader to zathura
|
|
xdg.mime.enable=true;
|
|
environment.sessionVariables = {
|
|
BROWSER = "zathura";
|
|
};
|
|
xdg.mime.defaultApplications = {
|
|
"application/pdf" = "zathura";
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
wlr.enable = true;
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ];
|
|
};
|
|
|
|
# gvfs needed for Thunar to detect external disks
|
|
services.gvfs.enable = true;
|
|
|
|
hardware.graphics.enable = true;
|
|
|
|
# bluetooth related
|
|
hardware.bluetooth.enable = true;
|
|
services.blueman.enable = true;
|
|
|
|
#hardware.pulseaudio.enable = true;
|
|
#services.pulseaudio.enable = true;
|
|
#services.pipewire.pulse.enable=false;
|
|
#services.pipewire.enable=false;
|
|
services.pipewire = {
|
|
enable = true; # Enable PipeWire service
|
|
alsa.enable = true; # Enable ALSA support (audio hardware)
|
|
alsa.support32Bit = true; # Support 32-bit apps on 64-bit systems
|
|
pulse.enable = true; # Enable PipeWire PulseAudio replacement
|
|
wireplumber.enable = true; # Enable WirePlumber session manager (recommended)
|
|
jack.enable = true; # Enable JACK support if needed
|
|
};
|
|
|
|
# udev rules (for Vial)
|
|
services.udev.extraRules = ''
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4653", ATTRS{idProduct}=="0001", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
'';
|
|
services.udev.packages = with pkgs; [
|
|
qmk
|
|
qmk-udev-rules
|
|
qmk_hid
|
|
via
|
|
vial
|
|
];
|
|
|
|
nix.settings.extra-experimental-features = [ "nix-command" "flakes" ];
|
|
}
|