Refactoring the config

This commit is contained in:
Lyes Saadi 2024-11-10 18:06:07 +01:00
parent 9c3fc1879c
commit 0e866b1cb0
No known key found for this signature in database
GPG key ID: 17418538BAA17767
24 changed files with 355 additions and 304 deletions

View file

@ -0,0 +1,45 @@
{ nixpkgs-unstable, ... }:
{
imports =
[
./packages.nix
./system.nix
];
# Import local packages
nixpkgs.overlays = [
(final: prev: {
local = import ../../pkgs { pkgs = final; };
})
# Unstable
(final: prev: {
unstable = import nixpkgs-unstable {
system = prev.system;
};
})
];
nixpkgs.config.allowUnfree = true;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
nix.optimise.automatic = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# 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. Its 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 = "22.11"; # Did you read the comment?
}

View file

@ -0,0 +1,32 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Utilities
neovim
helix
wget
ripgrep
eza
bat
tree
dust
pciutils
man-pages
man-pages-posix
python3
any-nix-shell
# Nix
home-manager
nix-index
direnv
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
}

38
modules/common/system.nix Normal file
View file

@ -0,0 +1,38 @@
{ pkgs, ... }:
{
# Time
time.timeZone = "Europe/Paris";
# Locale
i18n.defaultLocale = "fr_FR.UTF-8";
# Keyboard
console = {
font = "Lat2-Terminus16";
# keyMap = "fr";
useXkbConfig = true;
};
services.xserver.xkb.layout = "fr";
services.xserver.xkb.variant = "oss";
# Shell
programs.fish.enable = true;
programs.fish.promptInit = ''
any-nix-shell fish --info-right | source
'';
environment.shells = with pkgs; [ fish ];
# Environment Variables
environment.sessionVariables = {
EDITOR = "hx";
};
# Documentation
documentation.enable = true;
documentation.man.enable = true;
documentation.dev.enable = true;
# Fails for some reason
documentation.nixos.enable = true;
}