170 lines
3.5 KiB
Nix
170 lines
3.5 KiB
Nix
{ config, pkgs, pkgs-unstable, ... }:
|
|
{
|
|
system.activationScripts.ciscoPreHook = {
|
|
text = ''
|
|
echo "Prefetching Cisco Packet Tracer dependencies..."
|
|
${pkgs.nix}/bin/nix-prefetch-url --type sha256 file:///etc/nixos/local-pkgs/CiscoPacketTracer_900_Ubuntu_64bit.deb
|
|
'';
|
|
deps = [];
|
|
};
|
|
|
|
# Enable nix flakes
|
|
nix.settings = {
|
|
experimental-features = ["nix-command" "flakes" ];
|
|
trusted-users = [ "root" "someone" ];
|
|
};
|
|
environment.pathsToLink = [ "/share/applications" "/share/xdg-desktop-portal" ];
|
|
|
|
# Set your time zone.
|
|
time.timeZone = "Europe/Berlin";
|
|
|
|
# Select internationalisation properties.
|
|
console.keyMap = "de";
|
|
i18n.defaultLocale = "en_GB.UTF-8";
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = "de_DE.UTF-8";
|
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
|
LC_MONETARY = "de_DE.UTF-8";
|
|
LC_NAME = "de_DE.UTF-8";
|
|
LC_NUMERIC = "de_DE.UTF-8";
|
|
LC_PAPER = "de_DE.UTF-8";
|
|
LC_TELEPHONE = "de_DE.UTF-8";
|
|
LC_TIME = "de_DE.UTF-8";
|
|
};
|
|
|
|
networking = {
|
|
networkmanager.enable = true;
|
|
};
|
|
|
|
powerManagement.enable = true;
|
|
services.power-profiles-daemon.enable = true;
|
|
# Suspend first then hibernate when closing the lid
|
|
services.logind.settings.Login.lidSwitch = "suspend-then-hibernate";
|
|
# Hibernate on power button pressed
|
|
services.logind.settings.Login.powerKey = "hibernate";
|
|
services.logind.settings.Login.powerKeyLongPress = "poweroff";
|
|
|
|
# Hibernation
|
|
boot.resumeDevice = "/dev/disk/by-label/swap";
|
|
# resume offset from: filefrag -v /swapfile # under 0. physical offset
|
|
boot.kernelParams = ["mem_sleep_default=freeze" "resume_offset=0" ];
|
|
|
|
|
|
# Define time delay for hibernation
|
|
systemd.sleep.settings.Sleep = {
|
|
HibernateDelaySec = "30m";
|
|
SuspendState = "mem";
|
|
};
|
|
|
|
programs.wireshark = {
|
|
enable = true;
|
|
usbmon.enable = true; # Allow USB monitoring
|
|
dumpcap.enable = true; # Allow network capture
|
|
};
|
|
|
|
# Add zsh
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestions.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
shellAliases = {
|
|
ll = "ls -l";
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
};
|
|
|
|
# Allow dynamicly linked executables
|
|
programs.nix-ld.enable = true;
|
|
|
|
# Libvirt
|
|
programs.virt-manager.enable = true;
|
|
|
|
virtualisation.libvirtd = {
|
|
enable = true;
|
|
qemu = {
|
|
package = pkgs.qemu_kvm;
|
|
runAsRoot = true;
|
|
swtpm.enable = true;
|
|
};
|
|
};
|
|
virtualisation.spiceUSBRedirection.enable = true;
|
|
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
|
|
|
|
# printing
|
|
# Enable CUPS to print documents.
|
|
services.printing = {
|
|
enable = true;
|
|
drivers = [ pkgs.cnijfilter2 ];
|
|
};
|
|
|
|
services.avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
liberation_ttf
|
|
carlito
|
|
];
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
# CLI
|
|
starship
|
|
fzf
|
|
jq
|
|
bc
|
|
vim
|
|
wget
|
|
colordiff
|
|
git
|
|
|
|
# Nix / Lang
|
|
nil
|
|
nixd
|
|
devenv
|
|
rustup
|
|
php
|
|
|
|
# Web
|
|
librewolf
|
|
|
|
# Apps
|
|
rnote
|
|
logseq
|
|
pdfarranger
|
|
textpieces
|
|
normcap
|
|
nextcloud-client
|
|
thunderbird
|
|
libreoffice
|
|
|
|
# Graphics
|
|
gimp3
|
|
virtiofsd
|
|
ciscoPacketTracer9
|
|
pkgs-unstable.zed-editor
|
|
|
|
# Printing
|
|
cnijfilter2 # canon printer
|
|
|
|
# Net
|
|
wireshark
|
|
|
|
# Misc
|
|
hunspell
|
|
hunspellDicts.en_US
|
|
hunspellDicts.de_DE
|
|
docker-buildx
|
|
];
|
|
}
|