Reorganise profiles/options

This commit is contained in:
Simon Bruder 2020-12-05 14:18:57 +01:00
parent 2f8eca9167
commit 6d0f3a9964
No known key found for this signature in database
GPG key ID: 6F03E0000CC5B62F
6 changed files with 100 additions and 108 deletions

View file

@ -9,7 +9,7 @@
../../modules/restic.nix
../../modules/ssd.nix
../../modules/libvirt.nix
../../profiles/base.nix
../../modules
../../profiles/dev.nix
../../users/simon
];

View file

@ -9,7 +9,7 @@
../../modules/libvirt.nix
../../modules/restic.nix
../../modules/ssd.nix
../../profiles/base.nix
../../modules
../../profiles/dev.nix
../../users/simon
];

View file

@ -1,85 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports = [
./options.nix
./tools.nix
./communication.nix
./creative.nix
./cups.nix
./fonts.nix
./tools.nix
./media.nix
./network-manager.nix
./office.nix
./pulseaudio.nix
./sway.nix
./web.nix
];
# Essential system tools
environment.systemPackages = with pkgs; [
git
git-crypt # used to store secrets in configuration
git-lfs # not so essential, but required to clone config
htop
tmux
vim
];
# Clean temporary files on boot
boot.cleanTmpDir = true;
# Disable firewall
networking.firewall.enable = lib.mkDefault false;
# Set zsh as default shell
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
# Sane swapping
boot.kernel.sysctl."vm.swapiness" = 10;
# Store logs persistently
services.journald.extraConfig = "Storage = persistent";
# Hard drive monitoring
services.smartd.enable = true;
# Network monitoring
services.vnstat.enable = true;
# Authentication/Encryption agents
programs.gnupg.agent.enable = true;
programs.ssh.startAgent = true;
# NixOS state version (see https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion)
system.stateVersion = "20.03";
nix = {
# Make sudoers trusted nix users
trustedUsers = [ "@wheel" ];
# On-the-fly optimisation of nix store
autoOptimiseStore = true;
# Make nix build in background less noticeable
daemonIONiceLevel = 5; # 0-7
};
systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = "batch";
nixpkgs.config = {
# Explicitly allow unfree packages (rule of thumb: assets ok, code not ok)
allowUnfreePredicate = (
pkg: builtins.elem (lib.getName pkg) [
"corefonts"
"vista-fonts"
]
);
# Add unstable channel
packageOverrides = pkgs: {
unstable = import (builtins.fetchTarball "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz") {
config = config.nixpkgs.config;
};
};
};
}

98
modules/default.nix Normal file
View file

@ -0,0 +1,98 @@
{ config, lib, pkgs, ... }:
{
# Options that affect multiple modules
options.sbruder = {
gui = lib.mkEnableOption "gui";
};
# All modules are imported but non-essential modules are activated by
# configuration options
imports = [
./communication.nix
./creative.nix
./cups.nix
./docker.nix
./fonts.nix
./grub.nix
./locales.nix
./media.nix
./network-manager.nix
./office.nix
./prometheus/node_exporter.nix
./pulseaudio.nix
./ssh.nix
./sway.nix
./tools.nix
./udev.nix
./web.nix
];
config = {
# Essential system tools
environment.systemPackages = with pkgs; [
git
git-crypt # used to store secrets in configuration
git-lfs # not so essential, but required to clone config
htop
tmux
vim
];
# Clean temporary files on boot
boot.cleanTmpDir = true;
# Disable firewall
networking.firewall.enable = lib.mkDefault false;
# Set zsh as default shell
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
# Sane swapping
boot.kernel.sysctl."vm.swapiness" = 10;
# Store logs persistently
services.journald.extraConfig = "Storage = persistent";
# Hard drive monitoring
services.smartd.enable = true;
# Network monitoring
services.vnstat.enable = true;
# Authentication/Encryption agents
programs.gnupg.agent.enable = true;
programs.ssh.startAgent = true;
# NixOS state version (see https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion)
system.stateVersion = "20.03";
nix = {
# Make sudoers trusted nix users
trustedUsers = [ "@wheel" ];
# On-the-fly optimisation of nix store
autoOptimiseStore = true;
# Make nix build in background less noticeable
daemonIONiceLevel = 5; # 0-7
};
systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = "batch";
nixpkgs.config = {
# Explicitly allow unfree packages (rule of thumb: assets ok, code not ok)
allowUnfreePredicate = (
pkg: builtins.elem (lib.getName pkg) [
"corefonts"
"vista-fonts"
]
);
# Add unstable channel
packageOverrides = pkgs: {
unstable = import (builtins.fetchTarball "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz") {
config = config.nixpkgs.config;
};
};
};
};
}

View file

@ -1,7 +0,0 @@
{ config, lib, pkgs, ... }:
{
options.sbruder = {
gui = lib.mkEnableOption "Enable gui configuration";
};
}

View file

@ -1,14 +0,0 @@
{ ... }:
{
imports =
[
../modules/base.nix
../modules/docker.nix
../modules/grub.nix
../modules/locales.nix
../modules/prometheus/node_exporter.nix
../modules/ssh.nix
../modules/udev.nix
];
}