178 lines
3.4 KiB
Nix
178 lines
3.4 KiB
Nix
{ pkgs, lib, ... }:
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
networking.hostName = "nixos-xenon";
|
|
networking.networkmanager.enable = true;
|
|
|
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
|
|
time.timeZone = "Europe/Oslo";
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
console = {
|
|
keyMap = "no";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
];
|
|
|
|
nix.settings = {
|
|
pure-eval = true;
|
|
experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
use-xdg-base-directories = true;
|
|
extra-platforms = [
|
|
"aarch64-linux"
|
|
"arm-linux"
|
|
];
|
|
trusted-users = [ "vbm" ];
|
|
substituters = [
|
|
"https://cache.nixos.org/"
|
|
"https://cuda-maintainers.cachix.org"
|
|
"https://nix-community.cachix.org"
|
|
"https://nixos-rocm.cachix.org"
|
|
"https://nixpkgs-unfree.cachix.org"
|
|
];
|
|
|
|
trusted-public-keys = [
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
|
];
|
|
};
|
|
|
|
nix.extraOptions = lib.mkDefault "builders-use-substitutes = true";
|
|
|
|
services.thermald.enable = true;
|
|
|
|
fonts.fontconfig.enable = true;
|
|
fonts.fontconfig.defaultFonts = {
|
|
monospace = [
|
|
"Hack"
|
|
];
|
|
sansSerif = [
|
|
"Notonoto Sans"
|
|
"Noto Sans"
|
|
];
|
|
serif = [
|
|
"Notonoto Serif"
|
|
"Noto Serif"
|
|
];
|
|
emoji = [
|
|
"Noto Color Emoji"
|
|
];
|
|
};
|
|
fonts.packages = with pkgs; [
|
|
hack-font
|
|
nerd-fonts.hack
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-cjk-serif
|
|
noto-fonts-color-emoji
|
|
];
|
|
|
|
services.pipewire = {
|
|
enable = true;
|
|
pulse.enable = true;
|
|
audio.enable = true;
|
|
};
|
|
|
|
services.libinput.enable = true;
|
|
|
|
services.postgresql.enable = true;
|
|
|
|
services.udev.packages = with pkgs; [ light ];
|
|
|
|
services.udisks2.enable = true;
|
|
|
|
services.keyd = {
|
|
enable = true;
|
|
keyboards = {
|
|
default = {
|
|
ids = [ "*" ];
|
|
settings = {
|
|
main = {
|
|
capslock = "esc";
|
|
esc = "capslock";
|
|
leftalt = "leftmeta";
|
|
leftmeta = "leftalt";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
users.users.vbm = {
|
|
isNormalUser = true;
|
|
extraGroups = [
|
|
"wheel"
|
|
"video"
|
|
"input"
|
|
"wireshark"
|
|
];
|
|
shell = pkgs.nushell;
|
|
packages = with pkgs; [
|
|
tree
|
|
dust
|
|
eza
|
|
wl-clipboard
|
|
ripgrep
|
|
fd
|
|
keepassxc
|
|
btop
|
|
fluffychat
|
|
cargo
|
|
rustc
|
|
upx
|
|
gcc
|
|
nixfmt
|
|
imv
|
|
unzip
|
|
zip
|
|
qbittorrent
|
|
typst
|
|
calibre
|
|
signal-desktop
|
|
rustfmt
|
|
wmenu
|
|
umu-launcher
|
|
cachix
|
|
grim
|
|
slurp
|
|
wireshark
|
|
];
|
|
};
|
|
|
|
security.doas = {
|
|
enable = true;
|
|
extraRules = [
|
|
{
|
|
users = [ "vbm" ];
|
|
keepEnv = true;
|
|
persist = true;
|
|
}
|
|
];
|
|
};
|
|
security.sudo.enable = false;
|
|
security.polkit.enable = true;
|
|
security.rtkit.enable = true;
|
|
|
|
programs.light = {
|
|
enable = true;
|
|
brightnessKeys.enable = true;
|
|
};
|
|
# Necessary for gtk config, see: https://github.com/nix-community/home-manager/issues/3113
|
|
programs.dconf.enable = true;
|
|
|
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
system.stateVersion = "25.05"; # Did you read the comment?
|
|
}
|