nix-configs/common.nix

174 lines
3 KiB
Nix
Raw Normal View History

2022-08-02 07:55:12 +00:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
2022-08-12 10:14:32 +00:00
{
config,
pkgs,
lib,
2024-05-06 19:27:45 +00:00
lix-module,
2024-04-16 19:37:01 +00:00
rs-programs,
...
}:
with lib;
with builtins; {
2024-05-06 19:27:45 +00:00
imports = [lix-module.nixosModules.default];
2022-08-02 07:55:12 +00:00
nix = {
2022-10-02 15:39:04 +00:00
package = pkgs.nixVersions.stable;
2024-05-06 19:27:45 +00:00
settings = {
extra-substituters = [
"https://cache.lix.systems"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
};
2022-08-02 07:55:12 +00:00
extraOptions = ''
experimental-features = nix-command flakes
keep-outputs = true
keep-derivations = true
'';
};
nixpkgs = {
config = {
allowUnfree = true;
2023-05-25 07:03:43 +00:00
permittedInsecurePackages = [
2024-07-30 20:06:36 +00:00
"electron-27.3.11"
2023-05-25 07:03:43 +00:00
"nodejs-16.20.0"
];
};
2024-04-16 19:37:01 +00:00
overlays = [rs-programs];
};
2022-08-02 07:55:12 +00:00
environment = {
systemPackages = with pkgs; [
2024-02-02 10:28:26 +00:00
veracrypt
htmlq
2022-08-02 07:55:12 +00:00
prusa-slicer
zed-editor
wget
git
neofetch
pciutils
zip
unzip
gnutar
iw
btop
nodejs
jdk8
jdk11
jdk
libsecret
gh
nix-prefetch-scripts
fzf
glab
ripgrep
sl
lolcat
appimage-run
git-crypt
file
whois
p7zip
file
nmap
cmatrix
tree
socat
smartmontools
mprocs
dig
aria2
usbutils
numbat
2024-03-14 15:04:48 +00:00
devd
2024-04-10 15:37:24 +00:00
libjxl
2024-04-16 19:37:01 +00:00
s10e-jrnl
2024-09-02 17:08:10 +00:00
ungoogled-chromium
scc
speedtest-rs
];
2022-08-12 10:14:32 +00:00
};
2022-08-02 07:55:12 +00:00
networking = {
networkmanager = {
enable = true;
};
2022-09-28 16:55:03 +00:00
};
services = {
openssh = {
enable = true;
2023-04-25 12:52:33 +00:00
# settings.PasswordAuthentication = false;
# settings.KbdInteractiveAuthentication = false;
};
};
2024-02-02 10:28:26 +00:00
programs = {
ssh.startAgent = false;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
2024-02-02 10:28:26 +00:00
dconf.enable = true;
mtr.enable = true;
};
2022-09-10 10:18:11 +00:00
2024-06-12 11:24:47 +00:00
hardware.gpgSmartcards.enable = true;
2024-06-12 11:26:34 +00:00
time.timeZone = "Europe/Berlin";
2022-08-02 07:55:12 +00:00
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
};
2022-08-02 07:55:12 +00:00
2023-09-25 17:24:42 +00:00
nixpkgs.config.packageOverrides = pkgs: {
sudo = pkgs.sudo.override {withInsults = true;};
2023-09-25 17:24:42 +00:00
};
security.sudo.extraConfig = "Defaults insults";
2023-05-14 10:07:54 +00:00
boot.kernel.sysctl."vm.max_map_count" = 2147483642;
2022-08-02 07:55:12 +00:00
hardware = {
uinput.enable = true;
bluetooth.enable = true;
2024-02-13 20:22:25 +00:00
# keyboard.uhk.enable = true;
};
2024-02-27 17:17:36 +00:00
services.avahi = {
enable = true;
};
2022-08-02 07:55:12 +00:00
security.rtkit.enable = true;
2023-11-17 10:53:46 +00:00
users.users.jade = {
2022-08-02 07:55:12 +00:00
isNormalUser = true;
extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"];
2022-08-02 07:55:12 +00:00
};
2022-09-26 17:33:48 +00:00
zramSwap = {
enable = true;
algorithm = "zstd";
};
2024-06-12 11:26:34 +00:00
users.defaultUserShell = pkgs.nushell;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 60d";
};
2022-08-02 07:55:12 +00:00
}