nixos-config/systems/common-cli.nix

132 lines
2.3 KiB
Nix

{ config, pkgs, ... }:
{
time.timeZone = "Europe/Paris";
nix = {
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
environment.systemPackages = with pkgs; [
# Editeurs
(neovim.override {
viAlias = true;
vimAlias = true;
configure = {
customRC = ''
set tabstop=8
set shiftwidth=4
set softtabstop=0
set expandtab
set smarttab
set background=dark
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [
vim-startify airline sensible
polyglot ale fugitive
];
opt = [ ];
};
};
})
# Gestionnaires de version
gitMinimal
tig
gitAndTools.hub
quilt
# Gestion de paquets
nix-prefetch-scripts
nox
nix-index
# Système
smartmontools
htop
lshw
usbutils
# Réseau
telnet
rclone
lftp
wireguard
nfsUtils
nmap
# Divers
fzf
file
ncdu
youtube-dl
tldr
starship
# Audio
# beets
# Outils
borgbackup
binutils
bat
molly-guard
nix-template
lz4
# Développement
openssl
];
users.defaultUserShell = pkgs.zsh;
programs = {
tmux = {
enable = true;
clock24 = true;
};
zsh = {
enable = true;
autosuggestions.enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
interactiveShellInit = ''
source "$(${pkgs.fzf}/bin/fzf-share)/key-bindings.zsh"
eval "$(starship init zsh)"
'';
ohMyZsh = {
enable = true;
plugins = [ "git" "colored-man-pages" "command-not-found" "extract" "nix" ];
customPkgs = with pkgs;[
nix-zsh-completions
];
};
};
bash.interactiveShellInit = ''
eval "$(starship init bash)"
'';
};
environment.variables = let
starshipConfToml =
pkgs.writeText "starship.toml" ''
[[battery.display]]
threshold = 50
'';
in {
EDITOR = "nvim";
STARSHIP_CONFIG = "${starshipConfToml}";
};
nix.gc.automatic = true;
nix.gc.options = "--delete-older-than 15d";
systemd.timers.nix-gc.timerConfig.Persistent = true;
}