nix-configs/common.nix

172 lines
3 KiB
Nix
Raw Normal View History

2022-08-02 09:55:12 +02: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 12:14:32 +02:00
{
config,
pkgs,
lib,
2024-05-06 21:27:45 +02:00
lix-module,
2024-04-16 21:37:01 +02:00
rs-programs,
...
}:
with lib;
with builtins; {
2024-05-06 21:27:45 +02:00
imports = [lix-module.nixosModules.default];
2022-08-02 09:55:12 +02:00
nix = {
2022-10-02 17:39:04 +02:00
package = pkgs.nixVersions.stable;
2024-05-06 21:27:45 +02:00
settings = {
extra-substituters = [
"https://cache.lix.systems"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
};
2022-08-02 09:55:12 +02:00
extraOptions = ''
experimental-features = nix-command flakes
keep-outputs = true
keep-derivations = true
'';
};
nixpkgs = {
config = {
allowUnfree = true;
2023-05-25 09:03:43 +02:00
permittedInsecurePackages = [
2024-07-30 22:06:36 +02:00
"electron-27.3.11"
2023-05-25 09:03:43 +02:00
"nodejs-16.20.0"
];
};
2024-04-16 21:37:01 +02:00
overlays = [rs-programs];
};
2022-08-02 09:55:12 +02:00
environment = {
systemPackages = with pkgs; [
2024-11-09 23:27:47 +01:00
overskride
pulsemixer
htmlq
2022-08-02 09:55:12 +02:00
prusa-slicer
zed-editor
wget
git
neofetch
pciutils
zip
unzip
gnutar
iw
btop
nodejs
2024-11-03 19:48:04 +01:00
2024-11-03 19:46:36 +01:00
maven
jetbrains.idea-ultimate
jetbrains.rust-rover
jdk
2024-11-03 19:48:04 +01:00
libsecret
fzf
ripgrep
appimage-run
git-crypt
file
whois
p7zip
file
tree
socat
smartmontools
mprocs
dig
aria2
2024-09-26 19:15:58 +02:00
cyme
numbat
2024-03-14 16:04:48 +01:00
devd
2024-04-10 17:37:24 +02:00
libjxl
2024-04-16 21:37:01 +02:00
s10e-jrnl
2024-09-02 19:08:10 +02:00
ungoogled-chromium
scc
speedtest-rs
];
2022-08-12 12:14:32 +02:00
};
2022-08-02 09:55:12 +02:00
networking = {
networkmanager = {
enable = true;
};
2022-09-28 18:55:03 +02:00
};
services = {
2024-11-03 19:48:04 +01:00
systemd-lock-handler.enable = true;
openssh = {
enable = true;
2023-04-25 14:52:33 +02:00
# settings.PasswordAuthentication = false;
# settings.KbdInteractiveAuthentication = false;
};
};
2024-02-02 11:28:26 +01:00
programs = {
ssh.startAgent = false;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
2024-02-02 11:28:26 +01:00
dconf.enable = true;
mtr.enable = true;
};
2022-09-10 12:18:11 +02:00
2024-06-12 13:24:47 +02:00
hardware.gpgSmartcards.enable = true;
2024-06-12 13:26:34 +02:00
time.timeZone = "Europe/Berlin";
2022-08-02 09:55:12 +02:00
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
};
2022-08-02 09:55:12 +02:00
2023-09-25 19:24:42 +02:00
nixpkgs.config.packageOverrides = pkgs: {
sudo = pkgs.sudo.override {withInsults = true;};
2023-09-25 19:24:42 +02:00
};
security.sudo.extraConfig = "Defaults insults";
2023-05-14 12:07:54 +02:00
boot.kernel.sysctl."vm.max_map_count" = 2147483642;
2022-08-02 09:55:12 +02:00
hardware = {
uinput.enable = true;
bluetooth.enable = true;
2024-02-13 21:22:25 +01:00
# keyboard.uhk.enable = true;
};
2024-02-27 18:17:36 +01:00
services.avahi = {
enable = true;
};
2022-08-02 09:55:12 +02:00
security.rtkit.enable = true;
2023-11-17 11:53:46 +01:00
users.users.jade = {
2022-08-02 09:55:12 +02:00
isNormalUser = true;
extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"];
2022-08-02 09:55:12 +02:00
};
2022-09-26 19:33:48 +02:00
zramSwap = {
enable = true;
algorithm = "zstd";
};
2024-06-12 13:26:34 +02:00
users.defaultUserShell = pkgs.nushell;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 60d";
};
2022-08-02 09:55:12 +02:00
}