{ pkgs, inputs, options, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ./boot.nix ./filesystems.nix ./flatpak.nix ./audio.nix ./devtools.nix ./fontconfig.nix ./localisation.nix inputs.home-manager.nixosModules.home-manager ]; ### NETWORKING networking = { hostName = "dpv"; networkmanager.enable = true; timeServers = options.networking.timeServers.default ++ [ "time.google.com" ]; }; ### SERVICES services = { xserver = { enable = true; displayManager.lightdm.enable = true; desktopManager.cinnamon.enable = true; xkb.layout = "us"; xkb.variant = ""; }; ntp.enable = true; ## Daemons printing.enable = true; openssh.enable = true; ### Clipboard greenclip = { enable = true; package = pkgs.haskellPackages.greenclip; }; envfs.enable = true; gvfs.enable = true; tumbler.enable = true; }; xdg.portal = { extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; config.common.default = "gtk"; }; ### HARDWARE hardware = { graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver ]; }; }; ### SECURITY security.rtkit.enable = true; ### USERS users = { groups.libvirtd.members = [ "dpv" ]; users.dpv = { isNormalUser = true; description = "dpv"; extraGroups = [ "networkmanager" "wheel" "libvirtd" ]; shell = pkgs.zsh; packages = [ ]; }; }; ### PROGRAMS programs = { firefox.enable = false; ssh.startAgent = true; zsh.enable = true; xfconf.enable = true; thunar = { enable = true; plugins = [ pkgs.xfce.thunar-archive-plugin pkgs.xfce.thunar-volman pkgs.xfce.thunar-media-tags-plugin ]; }; }; flatpak.enable = true; ### UNFREE PACKAGES nixpkgs.config.allowUnfree = true; ### PACKAGES TO INSTALL IN A SYSTEM environment.systemPackages = with pkgs; [ fastfetch btop htop wget fzf ripgrep obsidian metasploit google-chrome home-manager xclip sqlite lsd gpick nsxiv pulseaudio mpc brightnessctl sdcv speedcrunch screenkey bitwarden-desktop keepassxc rustup gcc gnumake clang-tools nodejs pnpm imagemagick pandoc nixd dbeaver-bin gdu sl pavucontrol ffmpeg ffmpegthumbnailer p7zip rar unrar zip unzip dig nix-du nh graphviz libnotify inputs.zen-browser.packages.${pkgs.system}.default ]; ### ENV environment.variables = { EDITOR = "nvim"; }; ### DEV devtools.postgres.enable = true; devtools.virtualisation.enable = true; devtools.docker.enable = true; ### HOME MANAGER home-manager = { extraSpecialArgs = { inherit inputs; }; users = { dpv = import ../user/home.nix; }; }; ### MORE NIX nix = { gc = { automatic = true; dates = "daily"; options = "--delete-older-than 10d"; }; settings = { auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" ]; }; }; system.stateVersion = "24.11"; }