My entire NixOS config or something!

You are the youngest flake ever!

+165
+125
configuration.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + 5 + { config, pkgs, ... }: 6 + 7 + { 8 + imports = 9 + [ # Include the results of the hardware scan. 10 + ./hardware-configuration.nix 11 + ]; 12 + 13 + # Bootloader. 14 + boot.loader.systemd-boot.enable = true; 15 + boot.loader.efi.canTouchEfiVariables = true; 16 + 17 + networking.hostName = "delphi"; # Define your hostname. 18 + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 19 + 20 + # Configure network proxy if necessary 21 + # networking.proxy.default = "http://user:password@proxy:port/"; 22 + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 23 + 24 + # Enable networking 25 + networking.networkmanager.enable = true; 26 + 27 + # Enabling nix CLI and flakes 28 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 29 + 30 + # Set your time zone. 31 + time.timeZone = "America/New_York"; 32 + 33 + # Select internationalisation properties. 34 + i18n.defaultLocale = "en_US.UTF-8"; 35 + 36 + i18n.extraLocaleSettings = { 37 + LC_ADDRESS = "en_US.UTF-8"; 38 + LC_IDENTIFICATION = "en_US.UTF-8"; 39 + LC_MEASUREMENT = "en_US.UTF-8"; 40 + LC_MONETARY = "en_US.UTF-8"; 41 + LC_NAME = "en_US.UTF-8"; 42 + LC_NUMERIC = "en_US.UTF-8"; 43 + LC_PAPER = "en_US.UTF-8"; 44 + LC_TELEPHONE = "en_US.UTF-8"; 45 + LC_TIME = "en_US.UTF-8"; 46 + }; 47 + 48 + # Configure keymap in X11 49 + services.xserver.xkb = { 50 + layout = "us"; 51 + variant = ""; 52 + }; 53 + services.xserver.enable = true; 54 + services.libinput.enable = true; 55 + services.desktopManager.plasma6.enable = true; 56 + 57 + # Bluetooth 58 + hardware.bluetooth.enable = true; 59 + services.pulseaudio.enable = false; 60 + security.rtkit.enable = true; 61 + services.pipewire = { 62 + enable = true; 63 + pulse.enable = true; 64 + alsa = { 65 + enable = true; 66 + support32Bit = true; 67 + }; 68 + }; 69 + 70 + # Define a user account. Don't forget to set a password with ‘passwd’. 71 + users.users.demsem = { 72 + isNormalUser = true; 73 + description = "Demetrius Semanko"; 74 + extraGroups = [ "networkmanager" "wheel" ]; 75 + packages = with pkgs; []; 76 + }; 77 + 78 + # Allow unfree packages 79 + nixpkgs.config.allowUnfree = true; 80 + 81 + # List packages installed in system profile. To search, run: 82 + # $ nix search wget 83 + environment.systemPackages = with pkgs; [ 84 + git 85 + vim 86 + wget 87 + firefox 88 + python314 89 + neovim 90 + cargo 91 + gh 92 + wl-clipboard 93 + ripgrep 94 + vimPlugins.semshi 95 + git-filter-repo 96 + ]; 97 + 98 + # Some programs need SUID wrappers, can be configured further or are 99 + # started in user sessions. 100 + # programs.mtr.enable = true; 101 + # programs.gnupg.agent = { 102 + # enable = true; 103 + # enableSSHSupport = true; 104 + # }; 105 + 106 + # List services that you want to enable: 107 + 108 + # Enable the OpenSSH daemon. 109 + # services.openssh.enable = true; 110 + 111 + # Open ports in the firewall. 112 + # networking.firewall.allowedTCPPorts = [ ... ]; 113 + # networking.firewall.allowedUDPPorts = [ ... ]; 114 + # Or disable the firewall altogether. 115 + # networking.firewall.enable = false; 116 + 117 + # This value determines the NixOS release from which the default 118 + # settings for stateful data, like file locations and database versions 119 + # on your system were taken. It‘s perfectly fine and recommended to leave 120 + # this value at the release version of the first install of this system. 121 + # Before changing this value read the documentation for this option 122 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 123 + system.stateVersion = "25.05"; # Did you read the comment? 124 + 125 + }
+40
hardware-configuration.nix
··· 1 + # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ (modulesPath + "/installer/scan/not-detected.nix") 9 + ]; 10 + 11 + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; 12 + boot.initrd.kernelModules = [ ]; 13 + boot.kernelModules = [ "kvm-intel" ]; 14 + boot.extraModulePackages = [ ]; 15 + 16 + fileSystems."/" = 17 + { device = "/dev/disk/by-uuid/ff8b878b-3723-40b7-9161-61886b18e55a"; 18 + fsType = "ext4"; 19 + }; 20 + 21 + fileSystems."/boot" = 22 + { device = "/dev/disk/by-uuid/1C48-AA0E"; 23 + fsType = "vfat"; 24 + options = [ "fmask=0077" "dmask=0077" ]; 25 + }; 26 + 27 + swapDevices = 28 + [ { device = "/dev/disk/by-uuid/481a9bb9-945a-462a-9fc6-2e2bb5263320"; } 29 + ]; 30 + 31 + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 32 + # (the default) this is the recommended approach. When using systemd-networkd it's 33 + # still possible to use this option, but it's recommended to use it in conjunction 34 + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 35 + networking.useDHCP = lib.mkDefault true; 36 + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; 37 + 38 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 39 + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 40 + }