nixos/system/shared.nix

141 lines
2.9 KiB
Nix
Raw 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-07-08 16:02:04 +01:00
security.rtkit.enable = true;
2024-07-07 18:11:51 +01:00
services = {
flatpak.enable = true;
dbus.enable = true;
picom.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;
windowManager.i3.enable = true;
2024-07-07 18:51:06 +01:00
xkb.layout = "us";
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"
"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
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-07-08 16:02:04 +01:00
yt-mp3 = "yt-dlp -xi --audio-format mp3";
yt-mp3-meta = "yt-dlp -xi --audio-format mp3 --parse-metadata \"playlist_index:%(track_number)s\" --add-metadata";
yt-mp3-meta-cookies = "yt-dlp -xi --audio-format mp3 --parse-metadata \"playlist_index:%(track_number)s\" --add-metadata --cookies-from-browser firefox";
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"];
};
};
};
environment.systemPackages = with pkgs; [
2024-07-07 18:34:45 +01:00
docker
2024-07-07 18:11:51 +01:00
];
2024-07-07 18:34:45 +01:00
virtualisation.docker.enable = true;
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";
}