Files
nixos/machines/configuration.nix

169 lines
3.0 KiB
Nix

{ config, lib, pkgs, inputs, outputs, username, ... }:
{
imports = [ ../modules/services/gpg.nix ];
nixpkgs.config.allowUnfree = true;
programs.zsh.enable = true;
boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
users.users.${username} = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" ];
shell = pkgs.zsh;
packages = with pkgs; [
bisq-desktop
cargo
cura
dig
element-desktop
firefox
freecad
gcc
keet
libreoffice
nmap
rustc
rustup
sparrow
sublime-music
thunderbird
timeshift
tor-browser-bundle-bin
transmission-gtk
unison
];
};
fileSystems = {
"/backup" = {
device = "10.0.10.2:/volume1/system-backups";
fsType = "nfs";
};
"/movies" = {
device = "10.0.10.2:/volume1/video/movies";
fsType = "nfs";
};
"/music" = {
device = "10.0.10.2:/volume1/music";
fsType = "nfs";
};
"/tvshows" = {
device = "10.0.10.2:/volume1/video/tvshows";
fsType = "nfs";
};
};
environment = {
gnome.excludePackages = (with pkgs; [
gnome-tour
]) ++ (with pkgs.gnome; [
cheese
gnome-music
epiphany
geary
tali
iagno
hitori
atomix
]);
systemPackages = with pkgs; [
git
htop
lsof
mullvad-vpn
tree
unzip
vim
wget
zip
gnome.gnome-tweaks
gnomeExtensions.appindicator
];
};
time.timeZone = "America/New_York";
i18n = {
defaultLocale = "en_US.utf8";
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
};
nix = {
package = pkgs.nixFlakes;
settings.auto-optimise-store = true;
registry.nixpkgs.flake = inputs.nixpkgs;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
networking.networkmanager.connectionConfig."connection.mdns" = 2;
services = {
avahi.enable = true;
mullvad-vpn.enable = true;
printing = {
enable = true;
};
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
resolved.enable = true;
tor = {
enable = true;
client.enable = true;
};
udev.packages = with pkgs; [
gnome.gnome-settings-daemon
];
xserver = {
enable = true;
layout = "us";
xkbVariant = "";
libinput.enable = true;
desktopManager = {
gnome.enable = true;
xterm.enable = false;
};
displayManager.gdm.enable = true;
excludePackages = [ pkgs.xterm ];
};
};
security.rtkit.enable = true;
fonts.packages = [ pkgs.corefonts ];
sound.enable = true;
hardware.pulseaudio.enable = false;
modules.gpg.enable = true;
system.stateVersion = "23.05";
}