122 lines
2.5 KiB
Nix
122 lines
2.5 KiB
Nix
{ self, config, lib, pkgs, ... }:
|
||
let inherit (lib) fileContents;
|
||
in
|
||
{
|
||
|
||
# Cachix
|
||
nix = {
|
||
binaryCaches = [
|
||
"https://cache.nixos.org/"
|
||
"https://nix-community.cachix.org"
|
||
];
|
||
binaryCachePublicKeys = [
|
||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||
];
|
||
};
|
||
|
||
# For rage encryption, all hosts need a ssh key pair
|
||
services.openssh = {
|
||
enable = true;
|
||
openFirewall = lib.mkDefault false;
|
||
};
|
||
|
||
# This is just a representation of the nix default
|
||
nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||
nix.registry.nixpkgs.flake = self.inputs.nixos;
|
||
nix.registry.latest.flake = self.inputs.latest;
|
||
|
||
# Fix zsh autocompletion with home-manager
|
||
environment.pathsToLink = [ "/share/zsh" ];
|
||
|
||
# We set this via home-manager
|
||
environment.variables.EDITOR = "$EDITOR";
|
||
|
||
services.logind.lidSwitch = "ignore";
|
||
services.logind.extraConfig = ''
|
||
# don’t shutdown when power button is short-pressed
|
||
HandlePowerKey=ignore
|
||
'';
|
||
|
||
environment = {
|
||
systemPackages = with pkgs; [
|
||
agenix
|
||
binutils
|
||
coreutils
|
||
psmisc
|
||
asciinema
|
||
curl
|
||
direnv
|
||
exa
|
||
dnsutils
|
||
dosfstools
|
||
fd
|
||
fzf
|
||
git
|
||
bat
|
||
neovim
|
||
bottom
|
||
gptfdisk
|
||
file
|
||
iputils
|
||
jq
|
||
manix
|
||
moreutils
|
||
yt-dlp
|
||
nix-index
|
||
tmux
|
||
nmap
|
||
ripgrep
|
||
skim
|
||
tealdeer
|
||
whois
|
||
p7zip
|
||
wget
|
||
xxd
|
||
imagemagick
|
||
nushell
|
||
|
||
nixpkgs-fmt
|
||
nvfetcher
|
||
libqalculate
|
||
];
|
||
};
|
||
|
||
fonts = {
|
||
fonts = with pkgs; [ powerline-fonts dejavu_fonts twitter-color-emoji ];
|
||
fontconfig.defaultFonts = {
|
||
monospace = [ "DejaVu Sans Mono for Powerline" ];
|
||
sansSerif = [ "DejaVu Sans" ];
|
||
emoji = [ "Twitter Color Emoji" ];
|
||
};
|
||
};
|
||
|
||
nix = {
|
||
# Improve nix store disk usage
|
||
autoOptimiseStore = true;
|
||
gc.automatic = true;
|
||
optimise.automatic = true;
|
||
|
||
# Prevents impurities in builds
|
||
useSandbox = true;
|
||
|
||
# give root and @wheel special privileges with nix
|
||
allowedUsers = [ "@wheel" ];
|
||
trustedUsers = [ "root" "@wheel" ];
|
||
|
||
# Generally useful nix option defaults
|
||
extraOptions = ''
|
||
keep-outputs = true
|
||
keep-derivations = true
|
||
fallback = true
|
||
'';
|
||
|
||
};
|
||
|
||
time.timeZone = "Europe/Warsaw";
|
||
i18n.defaultLocale = "en_US.UTF-8";
|
||
|
||
# Service that makes Out of Memory Killer more effective
|
||
services.earlyoom.enable = true;
|
||
users.mutableUsers = false;
|
||
console.keyMap = "pl";
|
||
}
|