summaryrefslogtreecommitdiffstats
path: root/common-linux.nix
diff options
context:
space:
mode:
authorSkullheadx <andrew.montgomery@warpengine.ai>2026-06-29 14:40:59 -0400
committerSkullheadx <andrew.montgomery@warpengine.ai>2026-06-29 14:40:59 -0400
commitcfa14753fd6e4ec2a28778eed460ddd5926bdbe1 (patch)
treec2b85e115810beb2147e1a932ae06530bccc68b0 /common-linux.nix
parentDRY for username (diff)
downloadnixos-cfa14753fd6e4ec2a28778eed460ddd5926bdbe1.tar.gz
nixos-cfa14753fd6e4ec2a28778eed460ddd5926bdbe1.tar.bz2
nixos-cfa14753fd6e4ec2a28778eed460ddd5926bdbe1.zip
switch to name - system pattern
Diffstat (limited to 'common-linux.nix')
-rw-r--r--common-linux.nix119
1 files changed, 119 insertions, 0 deletions
diff --git a/common-linux.nix b/common-linux.nix
new file mode 100644
index 0000000..8dae24d
--- /dev/null
+++ b/common-linux.nix
@@ -0,0 +1,119 @@
+{
+ config,
+ pkgs,
+ inputs,
+ ...
+}: {
+ imports = [
+ ./bash.nix
+ ];
+
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ boot.supportedFilesystems = ["exfat"];
+
+ # Use latest kernel.
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+
+ networking.networkmanager.enable = true;
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ time.timeZone = "America/Toronto";
+
+ i18n.defaultLocale = "en_CA.UTF-8";
+
+ # Allow unfree packages
+ nixpkgs.config.allowUnfree = true;
+ nix.settings.experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
+
+ # List packages installed in system profile. To search, run:
+ # $ nix search wget
+ environment.systemPackages = with pkgs; [
+ wget
+ nixfmt
+ fastfetch
+ pamixer
+ gcc
+ alejandra
+ gnumake
+ ];
+
+ fonts = {
+ fontDir.enable = true;
+ fontconfig = {
+ enable = true;
+ defaultFonts = {
+ monospace = ["Fira Code Nerd Font"];
+ sansSerif = ["Fira Sans"];
+ };
+ hinting = {
+ autohint = false;
+ enable = true;
+ style = "slight";
+ };
+ };
+ packages = with pkgs; [
+ fira-code
+ nerd-fonts.fira-code
+ ];
+ };
+
+ programs.git = {
+ enable = true;
+ config = {
+ user = {
+ name = "Skullheadx";
+ email = "admonty1@protonmail.com";
+ };
+ pull.rebase = true;
+ url = {
+ "git@github.com:".insteadOf = "https://github.com/";
+ };
+ };
+ };
+
+ programs.nix-ld.enable = true;
+ programs.nix-ld.libraries = with pkgs; [
+ # Add any missing dynamic libraries for unpackaged
+ # programs here, NOT in environment.systemPackages
+ ];
+
+ environment.sessionVariables = {
+ };
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ };
+
+ # Services
+ services.openssh.enable = true;
+ services.rsync = {
+ enable = true;
+ };
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
+
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "25.05"; # Did you read the comment?
+}