nixos/system/shared.nix

182 lines
3.6 KiB
Nix
Raw Permalink Normal View History

2024-07-07 18:11:51 +01:00
{pkgs, user, ...}: {
documentation.nixos.enable = false;
nix = {
settings = {
warn-dirty = false;
experimental-features = "nix-command flakes";
auto-optimise-store = true;
substituters = ["https://nix-gaming.cachix.org"];
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
};
};
nixpkgs = {
config = {
allowUnfree = true;
};
};
boot = {
kernelParams = ["nohibernate"];
tmp.cleanOnBoot = true;
loader = {
efi.canTouchEfiVariables = true;
grub = {
device = "nodev";
efiSupport = true;
enable = true;
useOSProber = true;
timeoutStyle = "menu";
};
timeout = 300;
};
};
networking = {
networkmanager.enable = true;
enableIPv6 = false;
};
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
2024-08-15 16:32:40 +01:00
security = {
rtkit.enable = true;
pam.services.lightdm.enableGnomeKeyring = true;
};
2024-07-08 16:02:04 +01:00
2024-07-07 18:11:51 +01:00
services = {
flatpak.enable = true;
dbus.enable = true;
picom.enable = true;
2024-08-15 17:04:49 +01:00
gnome.gnome-keyring.enable = true;
2024-08-15 17:37:12 +01:00
rsyncd.enable = true;
2024-08-15 17:43:17 +01:00
openssh.enable = true;
2024-09-01 14:04:45 +01:00
printing.enable = true;
2024-07-08 16:02:04 +01:00
pipewire = {
enable = true;
pulse.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
};
2024-07-07 18:11:51 +01:00
xserver = {
enable = true;
2024-07-07 18:51:06 +01:00
xkb.layout = "us";
2024-07-07 18:11:51 +01:00
2024-08-15 16:44:57 +01:00
windowManager.i3 = {
enable = true;
extraSessionCommands = ''
2024-08-15 16:48:44 +01:00
eval $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --daemonize --components=ssh,secrets)
2024-08-15 16:44:57 +01:00
export SSH_AUTH_SOCK
'';
};
2024-07-07 18:11:51 +01:00
displayManager = {
lightdm.enable = true;
2024-07-08 14:55:55 +01:00
lightdm.greeters.gtk.enable = true;
2024-07-07 18:11:51 +01:00
};
};
};
users.users.vylpes = {
isNormalUser = true;
extraGroups = [
"docker"
"flatpak"
2024-08-15 17:27:32 +01:00
"libvirtd"
2024-08-17 13:52:34 +01:00
"vboxusers"
2024-07-07 18:11:51 +01:00
"wheel"
];
2024-07-07 21:31:38 +01:00
shell = pkgs.zsh;
2024-07-07 18:11:51 +01:00
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
};
2024-07-07 21:27:47 +01:00
2024-08-15 17:27:32 +01:00
programs.virt-manager.enable = true;
2024-07-07 21:27:47 +01:00
programs.zsh = {
enable = true;
2024-07-07 21:32:19 +01:00
promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
2024-07-07 21:27:47 +01:00
shellAliases = {
lss = "ls -lah";
gss = "git status -s";
gaa = "git add -A";
gcm = "git commit -m";
gco = "git checkout";
2024-09-05 17:35:35 +01:00
s = "swallow";
2024-07-07 21:27:47 +01:00
};
};
2024-07-07 21:13:31 +01:00
2024-07-07 21:22:44 +01:00
programs.neovim.defaultEditor = true;
2024-07-07 18:11:51 +01:00
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
font-awesome
hack-font
];
fontconfig = {
enable = true;
defaultFonts = {
monospace = ["Hack"];
serif = ["Noto Serif" "Source Han Serif"];
sansSerif = ["Noto Sans" "Source Han Sans"];
};
};
};
2024-08-16 18:29:34 +01:00
environment = {
systemPackages = with pkgs; [
docker
gnome.gnome-keyring
libuuid
2024-08-17 13:28:50 +01:00
spice
spice-gtk
spice-protocol
win-virtio
win-spice
2024-08-16 18:29:34 +01:00
];
sessionVariables = {
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath [pkgs.libuuid]}";
};
};
2024-07-07 18:11:51 +01:00
2024-08-15 17:27:32 +01:00
virtualisation = {
docker.enable = true;
2024-08-17 13:28:50 +01:00
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
2024-08-17 13:47:54 +01:00
virtualbox.host.enable = true;
2024-08-15 17:27:32 +01:00
};
2024-07-07 18:34:45 +01:00
2024-07-07 21:22:44 +01:00
xdg.portal = {
enable = true;
config.common.default = "*";
extraPortals = [pkgs.xdg-desktop-portal-gtk];
};
2024-07-08 16:02:04 +01:00
hardware.opengl.enable = true;
2024-07-07 18:44:00 +01:00
2024-07-07 18:11:51 +01:00
system.stateVersion = "24.05";
}