Move modules into modules/

This commit is contained in:
Dave Gallant
2023-07-09 12:28:15 -04:00
parent d2c0d94580
commit 6e19c4512d
10 changed files with 10 additions and 10 deletions

View File

@@ -0,0 +1,3 @@
{pkgs, ...}: {
nix.extraOptions = "experimental-features = nix-command flakes";
}

24
modules/common/fonts.nix Normal file
View File

@@ -0,0 +1,24 @@
{pkgs, ...}: {
# Set system-wide fonts.
fonts.fonts = with pkgs; [
dejavu_fonts
fira-code
fira-code-symbols
fira-mono
font-awesome
google-fonts
liberation_ttf
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
];
# Set default fonts.
fonts.fontconfig.defaultFonts = {
sansSerif = ["Noto Sans"];
serif = ["Noto Serif"];
monospace = ["Noto Sans Mono"];
emoji = ["Noto Color Emoji"];
};
}

View File

@@ -0,0 +1,31 @@
{...}: {
services.xserver = {
enable = true;
displayManager = {
gdm = {
enable = true;
wayland = false;
};
};
desktopManager = {
gnome = {
enable = true;
};
};
};
services.gnome.gnome-keyring.enable = true;
services.avahi = {
enable = true;
nssmdns = true;
publish = {
enable = true;
addresses = true;
domain = true;
hinfo = true;
userServices = true;
workstation = true;
};
};
}

63
modules/common/linux.nix Normal file
View File

@@ -0,0 +1,63 @@
{pkgs, ...}: {
boot.kernelPackages = pkgs.linuxPackages;
boot.supportedFilesystems = ["ntfs"];
system.stateVersion = "23.05";
system.autoUpgrade.enable = true;
# See: https://github.com/NixOS/nixpkgs/issues/180175
systemd.services.NetworkManager-wait-online.enable = false;
nix.extraOptions = "experimental-features = nix-command flakes";
nix.package = pkgs.nixUnstable;
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [];
};
users.users.dave = {
isNormalUser = true;
extraGroups = ["docker" "wheel" "libvirtd" "corectrl"];
shell = pkgs.zsh;
};
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
time.timeZone = "America/Toronto";
sound.enable = true;
hardware.pulseaudio.enable = true;
# Enable Vulkan
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
# Enable Steam
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [libva];
hardware.pulseaudio.support32Bit = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
virtualisation.docker.enable = true;
virtualisation.libvirtd.enable = true;
virtualisation.podman.enable = true;
programs.zsh.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.corectrl.enable = true;
}

View File

@@ -0,0 +1,12 @@
{pkgs, ...}: {
services.tailscale.enable = true;
networking = {
firewall = {
allowPing = false;
enable = true;
checkReversePath = "loose";
trustedInterfaces = ["tailscale0"];
};
};
}

View File

@@ -0,0 +1,3 @@
{pkgs, ...}: {
services.printing.enable = true;
}

147
modules/packages/common.nix Normal file
View File

@@ -0,0 +1,147 @@
{
config,
lib,
pkgs,
...
}: let
inherit (pkgs) stdenv;
in {
# System-wide packages to install.
environment.systemPackages = with pkgs; let
common = [
# classics
colordiff
curl
gcc
git-crypt
gnumake
gnupg
imagemagick
jq
unzip
viddy
wget
xclip
xdg-utils
zip
# modern cli
bat
exa
fd
github-cli
progress
glab
hadolint
nodePackages.eslint
oha
postman
pre-commit
ripgrep
yq-go
shellcheck
shfmt
starship
tldr
tmux-sessionizer
# containers
k9s
krew
kube-score
kubecolor
kubectl
kubectx
kubernetes-helm
kustomize
minikube
skaffold
stern
# language servers
nodePackages.bash-language-server
nodePackages.pyright
nodePackages.yaml-language-server
sumneko-lua-language-server
# monitoring
ctop
glances
htop
procs
# lua
lua53Packages.luacheck
stylua
# golang
golangci-lint
gopls
gofumpt
# rust
rustup
# js
nodejs
nodePackages.prettier
nodePackages.yarn
# networking
arp-scan
dnsutils
iperf
nmap
openssl
openvpn
sshfs # mac requires https://osxfuse.github.io/
vpngate
whois
# rice
neofetch
pfetch
# backup
rclone
restic
# infra
terraform-ls
terraformer
tflint
# nix
alejandra
cachix
nix-diff
nix-tree
nixfmt
nixpkgs-fmt
nixpkgs-review
rnix-lsp
# cloud
cloud-sql-proxy
# python
poetry
python310
python310Packages.black
python310Packages.ipython
python310Packages.pip
python310Packages.poetry-core
python310Packages.setuptools
python310Packages.virtualenv
# media
youtube-dl
# blog
hugo
];
in
common;
programs.gnupg.agent.enable = true;
}

View File

@@ -0,0 +1,62 @@
{
config,
lib,
pkgs,
...
}: let
inherit (pkgs) stdenv;
in {
# System-wide packages to install.
environment.systemPackages = with pkgs; let
linuxDesktop = [
albert
bitwarden
bitwarden-cli
chromium
deja-dup
discord
foliate
fx_cast_bridge
ghostscript
gimp-with-plugins
gnome.gnome-sound-recorder
gnome.gnome-tweaks
gnome.seahorse
gnomeExtensions.appindicator
gnomeExtensions.bluetooth-quick-connect
gnomeExtensions.blur-my-shell
gnomeExtensions.caffeine
gnomeExtensions.clipboard-indicator
gnomeExtensions.grand-theft-focus
gnomeExtensions.notification-banner-reloaded
gnomeExtensions.quick-settings-tweaker
gnomeExtensions.tailscale-status
gnomeExtensions.tray-icons-reloaded
gnomeExtensions.vitals
google-cloud-sdk
kazam
legendary-gl
mailspring
prismlauncher
obs-studio
pavucontrol
podman
qemu
ryujinx
signal-desktop
steam-tui
usbutils
virt-manager
vlc
wine
wine64
wireshark-qt
yaru-theme
yuzu
zoom-us
];
in
linuxDesktop;
programs.gnupg.agent.enable = true;
}

View File

@@ -0,0 +1,30 @@
{
config,
lib,
pkgs,
...
}: let
inherit (pkgs) stdenv;
in {
# System-wide packages to install.
environment.systemPackages = with pkgs; let
linux = [
cpu-x
cryptsetup
docker
docker-compose
glibcLocales
lm_sensors
netdata
pinentry-curses
nfs-utils
rustup
strace
tailscale
traceroute
];
in
linux;
programs.gnupg.agent.enable = true;
}