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

66 lines
1.5 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
zellij # Terminal multiplexer
];
2024-06-24 12:24:21 -04:00
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;
2024-06-24 12:24:21 -04:00
# Enable NH, an alternative nixos-rebuild frontend.
2024-09-08 11:58:56 -04:00
# https://github.com/viperML/nh
2024-06-24 12:24:21 -04:00
nh = {
enable = true;
flake = "${config.secrets.nixConfigFolder}";
};
2024-09-08 11:58:56 -04:00
# 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
};
}