My entire NixOS config or something!
at main 167 lines 4.4 kB view raw
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{ 6 config, 7 pkgs, 8 inputs, 9 ... 10}: 11 12{ 13 imports = [ 14 # Include the results of the hardware scan. 15 ./hardware-configuration.nix 16 ]; 17 18 # Bootloader. 19 boot.loader.systemd-boot.enable = true; 20 boot.loader.efi.canTouchEfiVariables = true; 21 22 networking.hostName = "delphi"; # Define your hostname. 23 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 24 25 # Configure network proxy if necessary 26 # networking.proxy.default = "http://user:password@proxy:port/"; 27 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 28 29 # Enable networking 30 networking.networkmanager.enable = true; 31 32 # Enabling nix CLI and flakes 33 nix.settings.experimental-features = [ 34 "nix-command" 35 "flakes" 36 ]; 37 38 # Set your time zone. 39 time.timeZone = "America/New_York"; 40 41 # Select internationalisation properties. 42 i18n.defaultLocale = "en_US.UTF-8"; 43 44 i18n.extraLocaleSettings = { 45 LC_ADDRESS = "en_US.UTF-8"; 46 LC_IDENTIFICATION = "en_US.UTF-8"; 47 LC_MEASUREMENT = "en_US.UTF-8"; 48 LC_MONETARY = "en_US.UTF-8"; 49 LC_NAME = "en_US.UTF-8"; 50 LC_NUMERIC = "en_US.UTF-8"; 51 LC_PAPER = "en_US.UTF-8"; 52 LC_TELEPHONE = "en_US.UTF-8"; 53 LC_TIME = "en_US.UTF-8"; 54 }; 55 56 # Configure keymap in X11 57 services.xserver.xkb = { 58 layout = "us"; 59 variant = ""; 60 }; 61 services.xserver.enable = true; 62 services.libinput.enable = true; 63 services.desktopManager.plasma6.enable = true; 64 65 # Bluetooth 66 hardware.bluetooth.enable = true; 67 services.pulseaudio.enable = false; 68 security.rtkit.enable = true; 69 services.pipewire = { 70 enable = true; 71 pulse.enable = true; 72 alsa = { 73 enable = true; 74 support32Bit = true; 75 }; 76 }; 77 78 services.printing = { 79 enable = true; 80 stateless = true; 81 # drivers = ( 82 # pkgs.linkFarm "drivers" [ 83 # { 84 # name = "share/cups/model/Brother_Printer.ppd"; 85 # path = ./res/Brother_Printer.ppd; 86 # } 87 # ] 88 # ); 89 }; 90 hardware.printers = { 91 ensurePrinters = [ 92 { 93 name = "RamPrint"; 94 description = "WCU RamPrint"; 95 deviceUri = "https://wcuprintp01.wcupa.net:9164/printers/RamPrint"; 96 model = "drv:///sample.drv/generic.ppd"; 97 } 98 # { 99 # name = "Brother_Printer"; 100 # description = "B&W Printer-Scanner"; 101 # location = "The Room"; 102 # deviceUri = "ipp://BRW485F9972E7C7.local:632/ipp/print"; 103 # model = "Brother_Printer.ppd"; 104 #} 105 ]; 106 }; 107 108 # Define a user account. Don't forget to set a password with ‘passwd’. 109 users.users.demsem = { 110 isNormalUser = true; 111 description = "Demetrius Semanko"; 112 extraGroups = [ 113 "networkmanager" 114 "wheel" 115 ]; 116 packages = with pkgs; [ ]; 117 }; 118 119 # Allow unfree packages 120 nixpkgs.config.allowUnfree = true; 121 122 # List packages installed in system profile. To search, run: 123 # $ nix search wget 124 environment.systemPackages = with pkgs; [ 125 just 126 wget 127 google-chrome 128 python313 129 clippy 130 wl-clipboard 131 rustlings 132 libreoffice-qt 133 hunspell 134 hunspellDicts.en_US 135 typst 136 wireshark 137 john 138 ]; 139 140 # Some programs need SUID wrappers, can be configured further or are 141 # started in user sessions. 142 # programs.mtr.enable = true; 143 # programs.gnupg.agent = { 144 # enable = true; 145 # enableSSHSupport = true; 146 # }; 147 148 # List services that you want to enable: 149 150 # Enable the OpenSSH daemon. 151 # services.openssh.enable = true; 152 153 # Open ports in the firewall. 154 # networking.firewall.allowedTCPPorts = [ ... ]; 155 # networking.firewall.allowedUDPPorts = [ ... ]; 156 # Or disable the firewall altogether. 157 # networking.firewall.enable = false; 158 159 # This value determines the NixOS release from which the default 160 # settings for stateful data, like file locations and database versions 161 # on your system were taken. It‘s perfectly fine and recommended to leave 162 # this value at the release version of the first install of this system. 163 # Before changing this value read the documentation for this option 164 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 165 system.stateVersion = "25.05"; # Did you read the comment? 166 167}