2023-11-26 21:51:10 -08:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
imports =
|
|
|
|
|
|
|
|
[
|
|
|
|
./modules/modules.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
# Bootloader.
|
2023-12-07 17:45:07 -08:00
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
2023-11-26 21:51:10 -08:00
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
|
2023-12-09 11:09:00 -08:00
|
|
|
services.fwupd.enable = true;
|
|
|
|
|
2023-12-16 19:08:59 -08:00
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
2023-11-26 21:51:10 -08:00
|
|
|
|
|
|
|
networking.hostName = "nixos"; # Define your hostname.
|
|
|
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
|
|
|
|
|
|
# Enable networking
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
|
|
|
|
# Set your time zone.
|
|
|
|
time.timeZone = "America/Los_Angeles";
|
|
|
|
|
|
|
|
# Select internationalisation properties.
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
|
|
|
|
# Enable the X11 windowing system.
|
|
|
|
services.xserver.enable = true;
|
|
|
|
|
|
|
|
# Enable the GNOME Desktop Environment.
|
|
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
|
|
|
2024-07-19 22:04:05 -07:00
|
|
|
# Fix the GNOME Desktop Environment Performance
|
|
|
|
|
|
|
|
nixpkgs.config.allowAliases = false;
|
|
|
|
|
2024-07-19 22:18:34 -07:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
# GNOME 46: triple-buffering-v4-46
|
|
|
|
(final: prev: {
|
|
|
|
gnome = prev.gnome.overrideScope (gnomeFinal: gnomePrev: {
|
|
|
|
mutter = gnomePrev.mutter.overrideAttrs (old: {
|
|
|
|
src = pkgs.fetchFromGitLab {
|
|
|
|
domain = "gitlab.gnome.org";
|
|
|
|
owner = "vanvugt";
|
|
|
|
repo = "mutter";
|
|
|
|
rev = "triple-buffering-v4-46";
|
2024-08-09 15:49:05 -07:00
|
|
|
hash = "sha256-C2VfW3ThPEZ37YkX7ejlyumLnWa9oij333d5c4yfZxc=";
|
2024-07-19 22:18:34 -07:00
|
|
|
};
|
|
|
|
});
|
|
|
|
});
|
|
|
|
})
|
2024-07-19 22:04:05 -07:00
|
|
|
];
|
|
|
|
|
2023-11-26 21:51:10 -08:00
|
|
|
# Configure keymap in X11
|
2024-06-30 22:11:22 -07:00
|
|
|
services.xserver.xkb = {
|
2023-11-26 21:51:10 -08:00
|
|
|
layout = "us";
|
2024-06-30 22:11:22 -07:00
|
|
|
variant = "";
|
2023-11-26 21:51:10 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
# Enable CUPS to print documents.
|
|
|
|
services.printing.enable = true;
|
|
|
|
|
|
|
|
# Enable sound with pipewire.
|
|
|
|
hardware.pulseaudio.enable = false;
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
users.users = {
|
|
|
|
free = {
|
|
|
|
isNormalUser = true;
|
|
|
|
description = "free";
|
2023-12-01 10:26:37 -08:00
|
|
|
extraGroups = [ "networkmanager" "wheel"];
|
2023-11-26 21:51:10 -08:00
|
|
|
};
|
2023-11-27 14:20:43 -08:00
|
|
|
};
|
2023-11-26 21:51:10 -08:00
|
|
|
|
|
|
|
# Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229
|
|
|
|
systemd.services."getty@tty1".enable = true;
|
|
|
|
systemd.services."autovt@tty1".enable = true;
|
|
|
|
|
|
|
|
# Allow Flatpak
|
|
|
|
services.flatpak.enable = true;
|
|
|
|
|
|
|
|
# Allow unfree packages
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
|
|
# $ nix search wget
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
git
|
|
|
|
wget
|
|
|
|
librewolf
|
|
|
|
fish
|
|
|
|
htop
|
|
|
|
gnomeExtensions.dash-to-dock
|
|
|
|
gnomeExtensions.transparent-top-bar-adjustable-transparency
|
|
|
|
gnomeExtensions.vitals
|
|
|
|
gnomeExtensions.pop-shell
|
|
|
|
gnomeExtensions.just-perfection
|
|
|
|
gnomeExtensions.appindicator
|
|
|
|
gnomeExtensions.date-menu-formatter
|
2024-07-08 09:36:54 -07:00
|
|
|
gnome-tweaks
|
2023-11-26 21:51:10 -08:00
|
|
|
papirus-icon-theme
|
|
|
|
ranger
|
|
|
|
sparrow
|
|
|
|
neofetch
|
2024-01-01 17:54:58 -08:00
|
|
|
gedit
|
2023-11-26 21:51:10 -08:00
|
|
|
openssl
|
|
|
|
pwgen
|
|
|
|
aspell
|
|
|
|
aspellDicts.en
|
|
|
|
lm_sensors
|
|
|
|
hunspell
|
|
|
|
hunspellDicts.en_US
|
|
|
|
gparted
|
|
|
|
pv
|
|
|
|
unzip
|
|
|
|
parted
|
|
|
|
screen
|
2024-07-08 09:36:54 -07:00
|
|
|
zenity
|
2023-11-26 21:51:10 -08:00
|
|
|
libargon2
|
2024-07-08 09:36:54 -07:00
|
|
|
gnome-terminal
|
2023-11-26 21:51:10 -08:00
|
|
|
dig
|
|
|
|
nextcloud-client
|
|
|
|
ungoogled-chromium
|
2023-12-02 08:14:59 -08:00
|
|
|
tor-browser
|
2023-12-09 12:47:07 -08:00
|
|
|
element-desktop
|
2024-04-10 16:30:39 -07:00
|
|
|
libreoffice-fresh
|
2024-05-12 09:56:03 -07:00
|
|
|
firefox
|
2024-07-19 22:05:15 -07:00
|
|
|
brave
|
|
|
|
|
2023-11-26 21:51:10 -08:00
|
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
2023-12-25 10:48:31 -08:00
|
|
|
services.mullvad-vpn = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.mullvad-vpn;
|
|
|
|
};
|
2023-11-26 21:51:10 -08:00
|
|
|
|
|
|
|
programs.bash.promptInit = "fish";
|
|
|
|
programs.fish = {
|
|
|
|
enable = true;
|
|
|
|
promptInit = "neofetch";
|
|
|
|
};
|
|
|
|
|
2023-12-03 20:22:05 -08:00
|
|
|
services.openssh = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
PasswordAuthentication = false;
|
|
|
|
KbdInteractiveAuthentication = false;
|
|
|
|
PermitRootLogin = "yes";
|
|
|
|
};
|
|
|
|
};
|
2023-11-26 21:51:10 -08:00
|
|
|
|
|
|
|
####### TOR #######
|
|
|
|
services.tor = {
|
|
|
|
enable = true;
|
|
|
|
client.enable = true;
|
|
|
|
torsocks.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
networking.firewall.enable = true;
|
|
|
|
|
2023-12-01 21:56:08 -08:00
|
|
|
|
2023-11-26 21:51:10 -08:00
|
|
|
####### AUTO COLLECT GARABAGE #######
|
|
|
|
nix.gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
|
|
|
options = "--delete-older-than 7d";
|
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
|
|
|
|
}
|