1
0
Fork 0
nix-configuration/modules/common.nix

64 lines
1.4 KiB
Nix
Raw Normal View History

2024-06-24 12:24:21 -04:00
# Modules common to all systems
{
config,
inputs,
2024-09-08 23:47:53 -04:00
lib,
pkgs,
...
}:
2024-06-24 12:24:21 -04:00
{
config = {
2024-09-08 11:58:56 -04:00
# Install base packages
aux.system.packages = with pkgs; [
fastfetch # Show a neat system statistics screen when opening a terminal
htop # System monitor
2024-10-10 12:16:37 -04:00
lm_sensors # System temperature monitoring
2024-09-08 11:58:56 -04:00
zellij # Terminal multiplexer
];
2024-06-24 12:24:21 -04:00
# Install the nos helper script
aux.system.nixos-operations-script.enable = true;
nixpkgs.overlays = [
(final: _prev: {
2024-09-08 23:47:53 -04:00
# Allow packages from the unstable repo by using 'pkgs.unstable'
unstable = import inputs.nixpkgs-unstable {
system = final.system;
config.allowUnfree = true;
};
2024-09-08 23:47:53 -04:00
# Define custom functions using 'pkgs.util'
util = {
# Parses the domain from a URL
getDomainFromURL =
url:
let
parsedURL = (lib.strings.splitString "." url);
in
builtins.concatStringsSep "." [
(builtins.elemAt parsedURL 1)
(builtins.elemAt parsedURL 2)
];
};
})
];
2024-06-24 12:24:21 -04:00
programs = {
2024-09-08 11:58:56 -04:00
# Install ZSH for all users
zsh.enable = true;
# Configure nano
2024-06-24 12:24:21 -04:00
nano.nanorc = ''
set tabsize 4
set softwrap
set autoindent
set indicator
'';
};
2024-07-16 13:33:58 -04:00
2024-09-08 11:58:56 -04:00
# Set ZSH as the default shell
users.defaultUserShell = pkgs.zsh;
2024-06-24 12:24:21 -04:00
};
}