dotfiles/nixos/common.nix

119 lines
2.6 KiB
Nix

{ config, pkgs, lib, inputs, nixpkgs-nixos-unstable-and-unfree, ... }:
let
stateVersion = "23.11";
username = "cyryl";
in {
imports = [
./common-hardware.nix
./common-services.nix
./security.nix
./syncthing.nix
];
security.allowUserNamespaces = true;
boot.supportedFilesystems = [ "ntfs" ];
environment.enableDebugInfo = true;
environment.systemPackages = with pkgs; [
ccache
curl
davfs2
dnsutils
fd
git
gnupg
home-manager
htop
pciutils
powertop
sshfs
tmux
usbutils
wget
veracrypt
];
i18n.defaultLocale = "en_GB.UTF-8";
users.users."${username}" = {
isNormalUser = true;
extraGroups = [
"adbusers"
"davfs2"
"dialout"
"docker"
"libvirtd"
"lp"
"networkmanager"
"scanner"
"vboxusers"
"video"
"wheel"
"wireshark"
];
shell = pkgs.zsh;
};
networking.nameservers =
[ "9.9.9.9" "2620:fe::fe" "149.112.112.112" "2620:fe::9" ];
networking.hosts = { "10.11.99.1" = [ "remarkable" ]; };
programs.light.enable = true;
programs.adb.enable = true;
programs.wireshark.enable = true;
programs.ssh.extraConfig = ''
Host vpsfree1 vpsfree1.cyplo.dev vpsfree1.raptor-carp.ts.net
HostName vpsfree1
Port 2222
Host cupsnet.cyplo.dev
HostName cupsnet.cyplo.dev
Port 2222
Host cupsnet cupsnet.raptor-carp.ts.net
HostName cupsnet.raptor-carp.ts.net
Port 2222
StrictHostKeyChecking=accept-new
'';
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
daemon.settings = {
"insecure-registries" = [ "vpsfree1.raptor-carp.ts.net:5000" ];
};
};
fonts.fontconfig = {
enable = true;
defaultFonts.monospace = [ "BerkeleyMono Nerd Font" ];
};
fonts.packages = with pkgs; [
inconsolata
(fetchzip {
url = "file://" + ./fonts/berkeley.tar.xz;
sha256 = "sha256-nsDqdQikT65vJVMq7r2MAOxd3xqj8vJ0Ky2y9CfI/bg==";
})
(fetchzip {
url = "file://" + ./fonts/tragicastle.tar.xz;
sha256 = "sha256-AjvaPmjlyDjBDxeVp1A1yPin0FrwbBib87ywF4GHqS0=";
})
];
nix = {
settings.auto-optimise-store = true;
gc.automatic = true;
optimise.automatic = true;
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command flakes
stalled-download-timeout = 30
'';
};
system = { inherit stateVersion; };
system.activationScripts.diff = ''
${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig"
'';
}